我在熊猫中有以下数据:
fork percentage_remains
0 True 20.000000
1 False 9.090909
2 False 2.000000
3 False 0.000000
4 False 0.000000
5 True 33.333333
6 False 20.000000
...
我想绘制堆叠的直方图,在x轴上为percentage_remains
,在y轴上为degree
(这表示该容器中的项目数),并将其分组为fork
-同一图中的两个堆叠直方图,其中第一个直方图为对于的所有值,fork == True
第二个直方图用于的所有值fork == False
。我在尝试:
subset.plot(kind="hist", stacked=True, by="fork")
但它会创建此图像:并且从该直方图中的标签和值看来,这实际上并不是按照“ fork”属性进行分组的。
那这样的事呢
import matplotlib.pyplot as plt
subset = pd.DataFrame({'fork': {0: True, 1: False, 2: False, 3: False, 4: False, 5: True, 6: False},
'percentage_remains': {0: 20.0,
1: 9.0909089999999999,
2: 2.0,
3: 0.0,
4: 0.0,
5: 33.333333000000003,
6: 20.0}})
通过布尔索引为fork == True进行过滤
filter = subset["fork"] == True`
然后直接使用matplotlib。请注意,我正在传递一个列表,一个元素为真值,另一个为假值
plt.hist([subset["percentage_remains"][filter],subset["percentage_remains"][~filter]],
stacked=True)
plt.show()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句