我正在使用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条答案
按热度按时间xmjla07d1#
参数
rwidth
指定了条形图相对于bin宽度的宽度。例如,如果bin
宽度为1,rwidth=0.5
,则条形图宽度为0.5。在条形图的两侧,您将拥有0.25的空间。思维:在连续的条形图之间有一个0.5的间隔。2在你拥有的箱子数量的情况下,你不会看到这些间隔。3但是在箱子数量较少的情况下,它们会显示出来。
2admgd592#
plt.hist
最终使用plt.bar
绘制条形图,因此另一种在条形图之间创建间隙的方法是通过width=
参数。需要注意的一点是,与
rwidth
不同,width
的条形宽度取决于其bin的大小(并且是0和1之间的值),width
是确定条形宽度的绝对值(并且可以大于1)。一个示例可以更好地说明。下面的代码绘制以下图表
而下面的代码绘制