web-dev-qa-db-de.com

Matplotlib wie man die Größe der Matshow ändert

Wie kann man die figsize für matshow () in Jupyter Notebook ändern?

Beispielsweise ändert dieser Code die Größe der Abbildung

%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)

Der folgende Code funktioniert jedoch nicht

%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())
11
chinskiy

Standardmäßig erzeugt plt.matshow() eine eigene Figur, so dass in Kombination mit plt.figure() zwei Figuren erstellt werden und diejenige, die den Matshow-Plot hostet, nicht die Figur ist, für die die Größe festgelegt ist.

Es gibt zwei Möglichkeiten:

  1. Verwenden Sie das Argument fignum

    plt.figure(figsize=(10,5))
    plt.matshow(d.corr(), fignum=1)
    
  2. Zeichnen Sie die Matshow mit matplotlib.axes.Axes.matshow anstelle von pyplot.matshow.

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

Die Lösungen haben bei mir nicht funktioniert, aber ich habe einen anderen Weg gefunden:

plt.figure(figsize=(10,5))
plt.matshow(d.corr(), fignum=1, aspect='auto')
0
Haeraeus

Verbesserung der Lösung durch @ImportanceOfBeingErnest,

matfig = plt.figure(figsize=(8,8))
plt.matshow(d.corr(), fignum=matfig.number)

Auf diese Weise müssen Sie die Zahlen der Figuren nicht im Auge behalten.

0
Elias Hasle