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, не имеет набора figsize.

есть два варианта:

  1. использовать fignum аргумент

    plt.figure(figsize=(10,5))
    plt.matshow(d.corr(), fignum=1)
    
  2. сюжет matshow используя matplotlib.axes.Axes.matshow вместо pyplot.matshow.

    fig, ax = plt.subplots(figsize=(10,5))
    ax.matshow(d.corr())