Matplotlib, как изменить figsize для matshow
Как изменить figsize для matshow() в ноутбуке jupyter?
Например, этот размер изменения размера кода
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
d = pd.DataFrame({'one' : [1, 2, 3, 4, 5],
'two' : [4, 3, 2, 1, 5]})
plt.figure(figsize=(10,5))
plt.plot(d.one, d.two)
Но код ниже не работает
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
d = pd.DataFrame({'one' : [1, 2, 3, 4, 5],
'two' : [4, 3, 2, 1, 5]})
plt.figure(figsize=(10,5))
plt.matshow(d.corr())
Ответы
Ответ 1
По умолчанию plt.matshow()
создает свою собственную фигуру, поэтому в сочетании с plt.figure()
будут созданы две цифры, а та, которая размещает график matshow, не та, которая имеет набор фигистов.
Есть два варианта:
-
Используйте аргумент fignum
plt.figure(figsize=(10,5))
plt.matshow(d.corr(), fignum=1)
-
Разделите matshow с помощью matplotlib.axes.Axes.matshow
вместо pyplot.matshow
.
fig, ax = plt.subplots(figsize=(10,5))
ax.matshow(d.corr())
Ответ 2
Улучшение решения с помощью @ImportanceOfBeingErnest,
matfig = plt.figure(figsize=(8,8))
plt.matshow(d.corr(), fignum=matfig.number)
Таким образом, вам не нужно отслеживать номера фигур.
Ответ 3
Решения не спомогли мне, но я нашел другой способ:
plt.figure(figsize=(10,5))
plt.matshow(d.corr(), fignum=1, aspect='auto')