如何以非常高的質量保存python圖?以非常高的質量在python中保存圖像
也就是說,當我不斷放大保存在pdf文件中的對象時,沒有模糊?
另外,什麼是最好的模式來保存它?
png
,eps
?還是其他的?我不能這樣做pdf
,因爲有一個隱藏的號碼發生,編譯Latexmk
混亂。
如何以非常高的質量保存python圖?以非常高的質量在python中保存圖像
也就是說,當我不斷放大保存在pdf文件中的對象時,沒有模糊?
另外,什麼是最好的模式來保存它?
png
,eps
?還是其他的?我不能這樣做pdf
,因爲有一個隱藏的號碼發生,編譯Latexmk
混亂。
如果您使用matplotlib
並試圖在乳膠文檔中獲得好的數字,請另存爲eps。具體來說,嘗試這樣的事情在運行命令繪製圖像後:
plt.savefig('destination_path.eps', format='eps', dpi=1000)
我發現,EPS文件的工作最好,dpi
參數是真正使他們在文檔中的好看。
UPDATE:
:爲了節約只需調用plt.savefig
調用之前以下,但創建的情節後(假設你已經使用的軸名爲ax
繪製)之前指定數字的方向
ax.view_init(elev=elevation_angle, azim=azimuthal_angle)
其中elevation_angle
是指定極角(從垂直z軸向下)和azimuthal_angle
指定方位角(圍繞z軸)的數字(以度爲單位)。
我發現,通過首先繪製圖像然後旋轉它並觀察角度的當前值出現在實際繪圖正下方的窗口底部來確定這些值是最容易的。請記住,默認情況下,x,y,z位置出現,但當您開始點擊+拖動+旋轉圖像時,會被兩個角度替換。
只是添加我的結果,也使用matplotlib。
.eps使我的所有文字都變爲粗體並刪除了透明度。 .svg給了我實際上看起來像我的圖形的高分辨率圖片。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# Do the plot code
fig.savefig('myimage.svg', format='svg', dpi=1200)
我使用了1200dpi,因爲很多科學期刊需要1200/600/300dpi的圖像,具體取決於圖像的類型。在GiMP或Inkscape中轉換爲所需的dpi和格式。
編輯:顯然,dpi並不重要,因爲.svg是矢量圖形並具有「無限分辨率」。
當我們在圖上的某處使用'imshow(..)'時,DPI很重要。這些位圖在嵌入到SVG中時會被柵格化。使用默認的DPI,結果甚至比我們在屏幕上看到的還要糟糕,絕對不適合出版物。 – 2017-03-12 11:28:23
好吧,我發現spencerlyon2的答案工作,但萬一有人會發現自己不知道如何處理這一行做,我不得不這樣做是這樣的:
beingsaved = plt.figure()
# some scatters
plt.scatter(X_1_x, X_1_y)
plt.scatter(X_2_x, X_2_y)
beingsaved.savefig('destination_path.eps', format='eps', dpi=1000)
@ spencerlon2如果我想什麼在保存之前更改圖形的方向? – dustin 2013-04-24 05:01:14
查看已更新的回覆。 – spencerlyon2 2013-04-24 05:19:56