我可以并排绘制这两个侧条形图吗
import pandas as pd
a=[('Female','0'),
('Female','0'),
('Female','0'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Female','1'),
('Male','0'),
('Male','0'),
('Male','0'),
('Male','0'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1'),
('Male','1')]
df=pd.DataFrame(a,columns=['Gender','Placement_B'])
gender=pd.crosstab(df['Gender'], df['Placement_B'])
g_norm=pd.crosstab(df['Gender'], df['Placement_B'],margins=True, normalize='index')
gender.plot.bar(stacked=True)
g_norm.plot.bar(stacked=True)
我了解到您在绘制交叉表数据时遇到了问题。这是一种绘制它的方法。
import matplotlib.pyplot as plt
df=pd.DataFrame(a,columns=['Gender','Placement_B'])
gender=pd.crosstab(df['Gender'], df['Placement_B'])
g_norm=pd.crosstab(df['Gender'], df['Placement_B'],margins=True, normalize='index')
fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.bar(gender.index.values, gender.iloc[:, 1])
ax1.bar(gender.index.values, gender.iloc[:, 0])
ax2.bar(g_norm.index.values, g_norm.iloc[:, 1])
ax2.bar(g_norm.index.values, g_norm.iloc[:, 0])
# Probably the way that is more relevant for this case
fig, (ax1, ax2) = plt.subplots(1, 2)
gender.iloc[:].plot.bar(stacked=True, ax=ax1)
g_norm.iloc[:].plot.bar(stacked=True, ax=ax2)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句