我有一个使用 matplotlib 生成直方图的 Python 程序。问题是生成的图像有时会在顶部被裁剪。首先,这是相关的代码摘录,其中plt
ismatplotlib.pyplot
和fig
is matplotlib.figure
:
plt.hist(grades, bins=min(20, maxScore), range=(0,maxScore), figure=fig.Figure(figsize=(3,2), dpi=150))
plt.xlabel("Raw Score")
plt.ylabel("Count")
plt.title("Raw Score Histogram")
plt.savefig(histogramFile)
问题出现在如下情况。我可能有 300 个元素grades
,其中 3 个容器中的元素超过 20 个,其余的不到 20 个。超过 20 个的容器的顶部将被切断,y 轴最多只能达到 20。但这并不总是发生:grades
具有相似分布的不同 300 个元素可能会正确呈现,并且 y 轴缩放以适合figsize
. 另请注意,x 轴总是正确显示。
我该怎么做才能使 y 轴正确缩放并生成适合图像的条形?