首页 > 解决方案 > 如何增加分组条之间的间距

问题描述

我有一个大数据集,并且我有多个组,但是增加条形宽度无济于事,因为组的大小不同。11您可以看到和之间没有空格12,我需要单独绘制每个组。

这是一个显示我的问题的示例。

import matplotlib.pyplot as plt

bar_width = 0.25

r = [8, 9, 10, 11, 12]
r1 = [(x) for x in r]
bars1 = [10,20, 40, 60, 80]

r = [1, 2, 8, 9, 10, 11, 12]
r2 = [(x + bar_width) for x in r]

bars2 = [5, 10,15, 20, 40, 60, 80]

bars3 = [ 12,23, 70, 94]
r = [4, 5,  11, 14]
r3 = [(x + bar_width * 2) for x in r]



bars4 = [ 60,120, 193]
r = [ 10,  11, 14]
r4 = [(x + bar_width * 3) for x in r]


r = [1, 2,3,4,5,6,7, 8, 9, 10, 11, 12]
r5 = [(x + bar_width * 4) for x in r]
bars5 = [3,5,23,14, 10, 20, 45,40,56, 60, 80,99]

plt.bar(r1, bars1, width=bar_width, align='center')
plt.bar(r2, bars2, width=bar_width, align='center')
plt.bar(r3, bars3, width=bar_width, align='center')
plt.bar(r4, bars4, width=bar_width, align='center')
plt.bar(r5, bars5, width=bar_width, align='center')
plt.legend(
    ('a', 'b', 'c', 'd', 'e'))

plt.show()

在此处输入图像描述

标签: pythonmatplotlibbar-chart

解决方案


一种想法是增加figsize

fig, ax = plt.subplots(figsize=(15, 5))
bar_width = 0.1

ax.bar(r1, bars1, width=bar_width, align='center')
ax.bar(r2, bars2, width=bar_width, align='center')
ax.bar(r3, bars3, width=bar_width, align='center')
ax.bar(r4, bars4, width=bar_width, align='center')
ax.bar(r5, bars5, width=bar_width, align='center')
ax.legend(('a', 'b', 'c', 'd', 'e'))

带 (15, 5) 的酒吧


推荐阅读