Как настроить процентные метки для каждой колонки гистограммы?
Только начинаю свой путь в анализе данных, титаник моя первая задачка и прошу пожалуйста максимально доступно объяснить как поставить процентные метки на столбцах гистограммы. Вообщем пытаюсь визуализировать зависимость класса каюты от выживаемости.
Creating onject containing Ticket distribution.
feature_pc = titan_fixed_train.groupby(by = 'Pclass')['Survived'].value_counts()
# Declaring figure size.
plt.figure(figsize = (10, 5))
# Declaring color parameters.
sns.countplot(data = titan_fixed_train, x = 'Pclass', hue = 'Survived', palette = 'magma')
# Customised percentage labels for each instance.
plt.text(x = -0.27, y = feature_pc[1][0] + 3, s = "{} %".format(((feature_pc[1][0]/feature_pc[1].sum())*100).round(2)), fontsize = 10)
plt.text(x = 0.12, y = feature_pc[1][1] + 3, s = "{} %".format(((feature_pc[1][1]/feature_pc[1].sum())*100).round(2)), fontsize = 10)
plt.text(x = -0.27 + 1, y = feature_pc[2][0] + 3, s = "{} %".format(((feature_pc[2][0]/feature_pc[2].sum())*100).round(2)), fontsize = 10)
plt.text(x = 0.12 + 1, y = feature_pc[2][1] + 3, s = "{} %".format(((feature_pc[2][1]/feature_pc[2].sum())*100).round(2)), fontsize = 10)
plt.text(x = -0.27 + 2, y = feature_pc[3][0] + 3, s = "{} %".format(((feature_pc[3][0]/feature_pc[3].sum())*100).round(2)), fontsize = 10)
plt.text(x = 0.12 + 2, y = feature_pc[3][1] + 3, s = "{} %".format(((feature_pc[3][1]/feature_pc[3].sum())*100).round(2)), fontsize = 10)
# Plot title:
plt.title('Survival Distribution among different Passenger Ticket Classes', fontsize = 16)
# Label Editing
plt.xticks([0, 1, 2], ['First Class', 'Second Class', 'Third Class'], fontsize = 10)
plt.xlabel('Passenger Ticket Class', fontsize = 15)
plt.ylabel('Count', fontsize = 15)
# Padding
plt.tight_layout(pad = -3)
# SHow graph.
plt.show()
Не могу разобраться как настроить процентные метки на столбцах, просто не понимаю откуда берутся эти цифры (-0,27, 0.12), почему +3 и s = "{} %" это что значит?
plt.text(x = -0.27, y = feature_pc[1][0] + 3, s = "{} %".format(((feature_pc[1][0]/feature_pc[1].sum())*100).round(2)), fontsize = 10)
plt.text(x = 0.12, y = feature_pc[1][1] + 3, s = "{} %".format(((feature_pc[1][1]/feature_pc[1].sum())*100).round(2)), fontsize = 10)
plt.text(x = -0.27 + 1, y = feature_pc[2][0] + 3, s = "{} %".format(((feature_pc[2][0]/feature_pc[2].sum())*100).round(2)), fontsize = 10)
plt.text(x = 0.12 + 1, y = feature_pc[2][1] + 3, s = "{} %".format(((feature_pc[2][1]/feature_pc[2].sum())*100).round(2)), fontsize = 10)
plt.text(x = -0.27 + 2, y = feature_pc[3][0] + 3, s = "{} %".format(((feature_pc[3][0]/feature_pc[3].sum())*100).round(2)), fontsize = 10)
plt.text(x = 0.12 + 2, y = feature_pc[3][1] + 3, s = "{} %".format(((feature_pc[3][1]/feature_pc[3].sum())*100).round(2)), fontsize = 10)
а подскажите пожалуйста тогда какой еще есть способ вместо этого? "{}".format(...) .
