matplotlib hist()中条形之间的间距与数千个区间

时间:2014-08-20 00:11:22

标签: python matplotlib histogram bar-chart

我使用matplotlib的hist()函数或bar()制作直方图,我想使用> 10,000个bin(一个bin来表示大型实体每个坐标的计数)。有没有办法在创建图形时在垂直条之间创建更多的空白?目前,直方图的每个条之间没有空格。例如:

# imports
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
import random

# Generating dummy data    
coordinate_counts = []
for __ in range(1,100000) :
    coordinate_counts.append(random.randrange(1,10000))

# plotting
fig, ax1 = plt.subplots()
ax1.hist(coordinate_counts,bins=range(1,10000))
fig.savefig('temp.png')

我尝试过使用rwidth()并改变其值,并尝试使用figsize()并简单地扩展绘图的大小,但最终结果总是将每个垂直条放在彼此旁边中间没有空格。

1 个答案:

答案 0 :(得分:15)

参数rwidth指定条形宽度相对于纸槽宽度的宽度。例如,如果您的bin宽度为1且rwidth=0.5,则条形宽度将为 0.5 。在栏的两侧,您将有一个 0.25 的空间。

介意:这会在连续的条形之间产生0.5的空间。根据您拥有的垃圾箱数量,您将无法看到这些空间。但是他们出现的垃圾箱数量减少了。

enter image description here