我是matplotlib的新手,我正在尝试在熊猫中使用它来绘制一些简单的图表。我有一个DataFrame包含两个标签“score”和“person”,派生自另一个DF。
df1 = DataFrame(df, columns=['score','person'])
制作此输出:
我正在尝试创建一个简单的条形图,以不同颜色显示每个人,这就是我到目前为止所拥有的:
df1.plot(kind='bar', title='Ranking')
如何自定义它以使图表在x轴上显示具有独特颜色的人名并删除图周围的“框架”?如何将其设为水平条形图?
提前感谢您的帮助。
答案 0 :(得分:12)
我想这会给你一个想法:
df = pd.DataFrame({'score':np.random.randn(6),
'person':[x*3 for x in list('ABCDEF')]})
ax = plt.subplot(111)
df.score.plot(ax=ax, kind='barh', color=list('rgbkym'), title='ranking')
ax.axis('off')
for i, x in enumerate(df.person):
ax.text(0, i + .5, x, ha='right', fontsize='large')
的
person score
0 AAA 1.79
1 BBB 0.31
2 CCC -0.52
3 DDD 1.59
4 EEE 0.59
5 FFF -1.03
你会得到:
答案 1 :(得分:-2)
查看pd.DataFrame.plot()
的文档以获取更多信息。您也肯定希望阅读plotting with matplotlib
以及matplotlib
docs本身。
获取水平条形图很简单,只需使用`kind ='barh'。