2017-06-17 89 views
2

我在看的matplotlib.pyplot.savefig的文件,特別是其dpi說法:Matplotlib的默認默認位置在哪裏?

以每英寸點數分辨率。如果None它將默認爲matplotlibrc文件中的值savefig.dpi

現在關於matplotlibrc,文件給出了在那裏找了四個位置的列表:只有最後一個(由包提供)適用於我,這是對matplotlib.matplotlib_fname()來電,確認。

但是,該包提供的matplotlibrc實際上是由matplotlib提供的the commented out example

我的問題是:

  1. 這是一個文檔的錯誤?如果我們按照文檔,這是未定義的行爲。
  2. 定義「默認默認值」在哪裏?這是另一個文件在某個地方,還是在圖書館內硬編碼? (我知道我可以檢查matplotlib.rcParams['savefig.dpi']以獲得其默認的默認值(這是figure在我的情況),我問在哪裏這些默認默認從何而來。)
+0

1。'matplotlibrc'中有一行:「空白行或以註釋#符號開頭的行被忽略」。所以,如果你想通過'matplotlibrc'定製一些屬性,你必須取消它的註釋。 2.我相信https://stackoverflow.com/a/23484838/5510499會回答你的問題。 –

+0

我的問題不在於如何將默認值設置爲'matplotlib'。 – user1735003

+0

對不起,第一個問題中「this」的含義並不十分清楚。 –

回答

0

的matplotlib默認rcParams在文件rcsetup.py定義。

默認爲當前發展版本savefig.dpi

'savefig.dpi': ['figure', validate_dpi], # DPI(目前線1298

其中'figure'意味着應使用該圖的dpi的。圖DPI默認爲

'figure.dpi': [100, validate_float], # DPI(目前排隊1277)的值

注然而兩件事情:

  1. 這些值的情況下,重寫的matplotlib rc文件中指定它們(即,相應的線在rc文件中沒有被註釋掉)。
  2. 實際值可以使用例如

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

    這些可能已經與默認值不同。作爲一個例子,所述Jupyter筆記本設置默認DPI至72:
    enter image description here

關於第一個問題,即使值在matplotlibrc註釋掉,它們應該是相同的如在rcsetup.py。所以要麼這個值被註釋掉了,那麼它們仍然默認爲rc文件中的值,或者它們沒有被註釋掉,其中語句也顯然是正確的。