我正在使用matplotlib的hist()
函数或bar()
制作直方图,并且我希望使用> 10,000个bin(一个bin表示大型实体每个坐标处的计数)。当我创建图形时,有没有办法在竖线之间创建更多的空白?目前,直方图的每个条之间没有空白。例如:
import matplotlib.pyplot as plt
import random
# Generating dummy data
coordinate_counts = [random.randrange(1,10000) for __ in range(1,100000)]
# plotting
fig, ax1 = plt.subplots()
ax1.hist(coordinate_counts, bins=range(1,10000))
我试过使用rwidth
并改变其值,也试过使用figsize
并简单地扩展图的大小,但最终的结果总是每个垂直条彼此相邻,中间没有空格。
2条答案
按热度按时间35g0bw711#
参数
rwidth
指定条形图的宽度相对于容器的宽度。例如,如果您的bin
宽度是1,rwidth=0.5
,那么条的宽度将是0.5。在酒吧的两侧,您将有一个0.25的空间。Mind:这给出了连续的条形之间的间隔0.5。以你拥有的箱子的数量,你不会看到这些空间。但随着垃圾箱的减少,它们确实出现了。
carvr3hs2#
plt.hist
最终使用plt.bar
绘制条形图,因此在条形图之间创建间隙的另一种方法是通过width=
参数。需要注意的一点是,与
rwidth
不同的是,条的宽度取决于其bin的大小(并且是0和1之间的值),width
是一个绝对值,它决定了条应该有多宽(并且可以大于1)。举个例子可以更好地说明。下面的代码绘制以下图表
而下面的代码绘制