我正在尝试使用我创建的数据框创建堆积的条形图 looks like this
我希望堆积的条形图在x轴上显示“剥削的类型”,然后在这些标题下,将男性和女性的身影堆叠在一起。
有没有办法从我的df中读取信息?我已经读过有关创建索引来执行此操作的信息,但是不知道这是否是解决方案?
我还需要一个显示“男”和“女”的图例
答案 0 :(得分:0)
您可以通过matplotlib软件包中的bottom函数将条形图堆叠在彼此的顶部。
第1步:创建数据框并导入包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
d = {'male': [37,1032,1], 'female': [96,134,1]}
df = pd.DataFrame(data=d, index=['a', 'b', 'c'])
第2步:创建图形
r = [0,1,2]
bars1 = df['female']
bars2 = df['male']
plt.bar(r, bars1)
plt.bar(r, bars2,bottom=bars1, color='#557f2d')
plt.xticks(r, df.index, fontweight='bold')
plt.legend(labels = ['female', 'male'])
plt.show()
可以在以下网页上找到更多信息:Link