Я использую matplotlib.pyplot для построения гистограммы и хочу увеличить размер графика. Код для построения:

plt.hist(x)
plt.xlabel("Months")
plt.ylabel("Donated")
plt.figure(figsize=(6,4))
plt.show()

Но plt.figure (..) не влияет на размер графика. Я использую Spyder IDE.

2
sak 29 Июн 2019 в 08:58

3 ответа

Лучший ответ

Вы хотите определить пространство фигуры до создания сюжетной информации.

plt.figure(figsize=(6,4))
plt.hist(x)
plt.xlabel("Months")
plt.ylabel("Donated")
plt.show()

Это определит вашу фигуру, а затем отобразит информацию в этом пространстве, в противном случае Matplotlib будет использовать значения по умолчанию.

2
Bryce Wayne 29 Июн 2019 в 06:11

В matplotlib мы должны сначала создать фигуру, если мы планируем использовать любую функцию pyplot с размерами фигуры не по умолчанию.

plt.figure(figsize=(6,4)) ## New figure
plt.hist(x)
plt.xlabel("Months")
plt.ylabel("Donated")
plt.show()

Из документов: «Каждая функция pyplot вносит некоторые изменения в фигуру» и по умолчанию создается фигура для размещения всех изменений на графике.

Используйте функцию gca () для возврата текущих осей (экземпляр matplotlib.axes.Axes) и gcf () для возврата текущего рисунка (экземпляр matplotlib.figure.Figure)

Debug:

print(plt.gcf()) # Figure(432x288) default
plt.figure(figsize=(10,20)) # --> (1)
plt.hist(x)
plt.xlabel("Months")
plt.ylabel("Donated")
print(plt.gcf()) # Figure(720x1440) from (1)
plt.figure(figsize=(20,20)) # --> (2)
print(plt.gcf()) # Figure(1440x1440) from (2)
0
mastercoder8 29 Июн 2019 в 06:21

Просто поместите это наверху:

plt.figure(figsize=(10,20))
plt.hist(x)
plt.xlabel("Months")
plt.ylabel("Donated")
plt.show()
2
Yash Chaudhary 29 Июн 2019 в 06:01