在不改变宽度的情况下减少条形之间的空间

我正在创建这样的条形图:


gender = ['M', 'F']

numbers = [males,females]

bars = plt.bar(gender, numbers, width=0.1, bottom=None, align='center', data=None)

plt.show()

我图表中的两个条彼此相距很远。有什么办法可以在不改变宽度的情况下使它们靠得更近吗?如果我增加宽度,条形之间的空间会减少,但我不想增加宽度。也许改变情节大小的东西可以奏效?

http://img3.mukewang.com/643e570a0001a37304050254.jpg

万千封印
浏览 80回答 1
1回答

郎朗坤

您可以更改xlims。对于分类索引,x 位置在内部编号为0, 1, .... Matplotlib 在每边添加了一个默认的 5% 的填充,当只有两个条时,这太短了。或者,您也可以更改 以便ylim为栏顶部的文本腾出更多空间:from matplotlib import pyplot as pltgender = ['M', 'F']numbers = [1644, 1771]bars = plt.bar(gender, numbers, width=0.1, bottom=None, align='center', data=None)for x, y in zip(gender, numbers):    plt.text(x, y, f'{y}\n', ha='center', va='center')plt.xlim(-0.9, len(gender) - 1 + 0.9)plt.ylim(0, max(numbers) * 1.1)plt.show()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python