2017-06-17 4 views
2

Ich betrachte die Dokumentation von matplotlib.pyplot.savefig, insbesondere seiner dpi Argument:Wo befinden sich die Standardeinstellungen von Matplotlib?

die Auflösung in Punkten pro Zoll. Bei None wird standardmäßig der Wert savefig.dpi in der Datei matplotlibc verwendet.

Jetzt matplotlibrc in Bezug auf, gibt die Dokumentation eine Liste der vier Orte, an denen sie gesucht wird: nur die letzten (durch das Paket zur Verfügung gestellt) ist mir anwendbar, die durch einen Aufruf matplotlib.matplotlib_fname() bestätigt wird.

Allerdings ist die matplotlibrc von dem Paket zur Verfügung gestellt wird eigentlich the commented out example von matplotlib zur Verfügung gestellt.

Meine Fragen sind:

  1. Ist das eine Dokumentation Bug? Wenn wir der Dokumentation folgen, ist dies ein undefiniertes Verhalten.
  2. Wo sind die "Standardeinstellungen" definiert? Ist das irgendwo in einer anderen Datei oder in der Bibliothek fest codiert? (Ich weiß, dass ich matplotlib.rcParams['savefig.dpi'] überprüfen auf den Standardstandardwert zu erhalten (es ist figure in meinem Fall), frage ich, wo diese Standardvorgaben kommen.)
+0

1.Es gibt eine Zeile in 'matplotlibc':" Leerzeilen oder Zeilen, die mit einem Kommentar # -Symbol beginnen, werden ignoriert ". Also, wenn Sie etwas Eigentum durch 'matplotlibrec' anpassen möchten, müssen Sie es auskommentieren. 2. Ich glaube, https://stackoverflow.com/a/23484838/5510499 beantwortet Ihre Frage. –

+0

Meine Frage ist nicht, wie man Standardwerte auf 'matplotlib' setzt. – user1735003

+0

Sorry, es ist nicht ganz klar, was du mit "this" in der ersten Frage meinst. –

Antwort

0

Die matplotlib Standard rcParams sind in der Datei definiert rcsetup.py .

Die Standardeinstellung für die savefig.dpi der aktuellen Entwicklungsversion ist

'savefig.dpi': ['figure', validate_dpi], # DPI (derzeit Linie 1298)

wo 'figure' bedeutet, dass die dpi der Figur verwendet werden soll. Der Wert der Zahl dpi standardmäßig

'figure.dpi': [100, validate_float], # DPI (derzeit 1277 Linie)

Hinweis jedoch zwei Dinge:

  1. Diese Werte im Fall überschrieben werden sie die matplotlib rc-Datei gibt (die entsprechende Zeile in der RC-Datei ist nicht auskommentiert).
  2. Die tatsächlichen Werte können unter Verwendung z.B.

    import matplotlib.pyplot as plt 
    print(plt.rcParams) 
    

    Diese können sich bereits von den Standardwerten unterscheiden. Als Beispiel der Jupyter Notebook legt den Standard dpi bis 72:
    enter image description here

die erste Frage betrifft, obwohl die Werte in der matplotlibrc kommentiert, sollen sie die gleiche wie in den rcsetup.py sein. Entweder wird der Wert auskommentiert, dann werden die Werte in der RC-Datei beibehalten oder sie werden nicht auskommentiert, wobei die Anweisung offensichtlich ebenfalls korrekt ist.

Verwandte Themen