简单定制matplotlib/pandas条形图(标签,刻度等)

Lui*_*uel 10 python matplotlib pandas

我是matplotlib的新手,我试图在熊猫中使用它来绘制一些简单的图表.我有一个DataFrame包含两个标签"score"和"person",派生自另一个DF.

df1 = DataFrame(df, columns=['score','person'])
Run Code Online (Sandbox Code Playgroud)

生成此输出:

表输出

我正在尝试创建一个简单的条形图,以不同颜色显示每个人,这就是我到目前为止:

df1.plot(kind='bar', title='Ranking')
Run Code Online (Sandbox Code Playgroud)

条形图

如何自定义它以使图表在x轴上显示具有独特颜色的人名并删除图周围的"框架"?如何将其设为水平条形图?

在此先感谢您的帮助.

beh*_*uri 13

我想这会给你一个想法:

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')
Run Code Online (Sandbox Code Playgroud)

对于

  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
Run Code Online (Sandbox Code Playgroud)

你会得到:

HBAR

  • @LuisMiguel这可能会有所帮助:http://stackoverflow.com/questions/19917587/matplotlib-advanced-bar-plot/19919397#19919397 (2认同)