Я только начал изучать Python, и я использую данные Titanic набор на практикуСоздания Сгруппированных баров в Matplotlib
Я не в состоянии создать сгруппированную гистограмму и он дает мне ошибку «несовместимых размеры: аргумент «высота» должны быть длиной 2 или скаляр»
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("Titanic/train.csv")
top_five = df.head(5)
print(top_five)
column_no = df.columns
print(column_no)
female_count = len([p for p in df["Sex"] if p == 'female'])
male_count = len([i for i in df["Sex"] if i == 'male'])
have_survived= len([m for m in df["Survived"] if m == 1])
not_survived = len([n for n in df["Survived"] if n == 0])
plt.bar([0],female_count, color ='b')
plt.bar([1],male_count,color = 'y')
plt.xticks([0+0.2,1+0.2],['females','males'])
plt.show()
plt.bar([0],not_survived, color ='r')
plt.bar([1],have_survived, color ='g')
plt.xticks([0+0.2,1+0.2],['not_survived','have_survived'])
plt.show()
это прекрасно работает до тех пор здесь и я получаю две отдельные диаграммы
Вместо я хочу одну диаграмму, которая отображает полосы для мужского и женского и цветового кода в барах основанный на выживании.
Это не похоже на работу
N = 2
index = np.arange(N)
bar_width = 0.35
plt.bar(index, have_survived, bar_width, color ='b')
plt.bar(index + bar_width, not_survived, bar_width,color ='r',)
plt.xticks([0+0.2,1+0.2],['females','males'])
plt.legend()
Спасибо заранее !!
Вы можете проверить [this] (http://stackoverflow.com/a/20159305/2901002) и добавить некоторые выборочные данные на свой вопрос. – jezrael
Я использую train.csv отсюда https://www.kaggle.com/c/titanic/data – Anu8