如何使用我的数据制作更具视觉吸引力的条形图

时间:2018-08-23 17:22:39

标签: python python-3.x matplotlib

我正在尝试在matplotlib中使用barh绘制此数据帧。

SAMPLE DF:

    genre              tracks_sold   percentage
0   Rock                  561        53.377735
1   Alternative & Punk    130        12.369172
2   Metal                 124        11.798287
3   R&B/Soul               53         5.042816
4   Blues                  36         3.425309

genre_sold_usa.plot.barh()

PLOT

我正在尝试使该图在视觉上更具参考性。

我想以类似的方式绘制情节,但在视觉上更具吸引力:

enter image description here

请指导我使用其他方法使它更具视觉吸引力。

1 个答案:

答案 0 :(得分:1)

给出df作为DataFrame,我只是想重现您提供的示例。我认为,旋转y标签更有意义。 “视觉上吸引人”是一个主观问题。

fig = plt.figure(figsize=(10, 6))
ax = df.plot.barh(y='tracks_sold', x='genre', color='mediumseagreen', ec='k', lw=1)
plt.xlim(0, 630)
plt.yticks(rotation=30)
plt.ylabel('')
plt.title('Top Selling Genres in the USA')
ax.legend_.remove()

# Way 1 of putting percentage values
for i in range(len(df)):
    ax.text(tracks_sold[i] + 5, 0.98*i, str(int(percentage[i])) + '%', color='black', fontweight='bold')

# Way 2 of putting percentage values
# for i, p in enumerate(ax.patches):
#    ax.annotate(str(int(percentage[i])) + '%', (p.get_width() * 1.02, i)) 

输出 enter image description here