xpt
xpt

Reputation: 22994

Pandas Plot, how to control the bar width and the gaps

Hope this is an easy question -- how to control the bar width and the gaps when plotting with Pandas?

Full code is here, reposted below:

df = pd.DataFrame({
        'person':[x*3 for x in list('ABCDEF')],
        'score1':np.random.randn(6),
        'score2':np.random.randn(6),
        'score3':np.random.randn(6),
        'score4':np.random.randn(6),
        'score5':np.random.randn(6)
                   })
print(df)
ax = df.set_index(['person']).plot(kind='barh')
ax.invert_yaxis()

enter image description here

The result bar width is too thin and the gaps is too wide, how can I fix it? Thanks.

Upvotes: 8

Views: 15403

Answers (1)

Mike Müller
Mike Müller

Reputation: 85442

You can set the width of the bars:

ax = df.set_index(['person']).plot(kind='barh', width=1.0)

The result looks like this:

enter image description here

Make them thinner again:

ax = df.set_index(['person']).plot(kind='barh', width=0.5)

enter image description here

Upvotes: 16

Related Questions