Гистограмма в matplotlib обрезается сверху

У меня есть программа на Python, которая генерирует гистограмму с помощью matplotlib. Проблема в том, что генерируемые изображения иногда обрезаются сверху. Во-первых, вот соответствующая выдержка из кода, где pltесть matplotlib.pyplotи figесть 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 элементов, в grades3-х корзинах более 20 элементов, а в остальных - менее 20. У тех, у кого более 20, верхние части будут срезаны, а ось Y поднимется только до 20. Это не всегда происходит, хотя: различные 300 элементов gradesс аналогичным распределением могут отображаться правильно, с масштабированием по оси Y, чтобы соответствовать в figsize. Также обратите внимание, что ось X всегда выходит правильно.

Что я могу сделать, чтобы ось Y правильно масштабировалась и получала полосы, которые вписываются в изображение?

13.10.2009 14:52:01
1 ОТВЕТ
РЕШЕНИЕ

Отправьте отчет об ошибке разработчикам matplotlib и попросите их написать тестовый пример.

Вы должны быть в состоянии установить ось y с помощью функции ylim: это то, что вы просите? Можете ли вы показать скриншот вашей проблемы?

1
13.10.2009 15:02:52
Я могу, но используя ylimисправил это; по какой-то причине это не всегда правильно. Спасибо!
G Gordon Worley III 13.10.2009 16:09:05