2015-11-19 135 views
6

我有一個python代碼來創建一個圖。用plt.show()顯示後,我想保存這個數字。
爲了避免混淆縱橫比,分辨率等,我不想在代碼中使用savefig -command。相反,我想使用圖形窗口中的「保存圖形」按鈕。
但是,默認情況下,它會提示我的主文件夾作爲保存的位置。我想保存自動地在執行代碼的目錄中。
如何更改此窗口的默認路徑以保存到當前文件夾(或其他地方)?如何更改python中「保存圖形」的默認路徑?

我從Change directory to the directory of a Python script在開始嘗試這個命令,但它並沒有幫助,即使正確地給出了文件名:

os.chdir(os.path.dirname(__file__)) 

回答

6

它看起來像您可以通過改變這個默認文件matplotlibrc設置此, http://matplotlib.org/users/customizing.html 下檢查指導的重要線下savefig參數其中:

# the default savefig params can be different from the display params 

... 

savefig.directory : ~  # default directory in savefig dialog box, 
           # leave empty to always use current working directory 

它似乎this在matplo介紹tlib 1.3。我想你可以設置此使用,

mpl.rcParams["savefig.directory"] = os.chdir(os.path.dirname(__file__)) 

在腳本的頂部或改變matplotlibrc文件。我仍然使用mpl 1.1.1所以不能測試,對不起。

+0

太棒了!現在它工作。我無法通過編輯matplotrc來修復它,但隨後您的最後一條命令得到了幫助,我必須對其進行小修改:... =「路徑到我的文件夾」。不知何故os.chdir沒有工作。 PS:真的很好看看matplotrc設置。現在我可以改變許多其他的東西 – physiker

+0

Hi @physiker,很高興聽到它的工作。我想知道是否可以在'matplotrc'文件中設置你想要的表單的動態文件路徑。如果它在導入matplotlib時就像腳本一樣運行,我假設你可以'導入os'並使用類似'os.chdir'的東西。在一個腳本中,命令'os.chdir(os.path.dirname(__ file __))'應該返回一個字符串,該字符串與硬連線的「路徑到我的文件夾」一樣有效,除非我錯過了某些東西。 .. –

+0

嗨@Ed史密斯,其實「路徑我的文件夾」只是「。」這是天真的動態!我會嘗試更多你的建議,如果我管理,我會報告回來。謝謝 – physiker