2014-03-13 46 views
2

使用Python中pylab(matplotlib),我想使地塊的scientifc會議海報。但是,使用體面的dpi分辨率和正確的尺寸(以英寸/釐米爲單位),所有圖的元素都太小而不能打印得太大。對於A0格式的海報,圖像大約爲30釐米×20釐米,而對於標準A4頁面,圖像大小爲15釐米×10。繪製的海報會議(增加TEXTSIZE,線寬,......一次)

現在,我想,以避免啓發式算法和調整,如文本尺寸(軸,蜱,傳說),線寬所有的情節性,剔大小等個別。基本上我想放大所有的屬性,就好像我已經用標準設置保存了繪圖,但後來放大了整個圖像(沒有像素化)。

是不是有一個預先設置像這樣大的打印介質?或者,也許有人可以提供一個代碼片段來設置所有相關的屬性。

謝謝。

+0

我希望你想要的一切,以成比例,因此不改變圖形/字體大小。將圖保存爲pdf(即,'plt.savefig('fig1.pdf')'),並且它將很好地縮放(沒有dpi,因爲它將是矢量圖形)。 – askewchan

回答

1

如果你保存你的身材爲PDF(或SVG,或任何其他矢量圖形格式),那麼它就會無限期地擴展,沒有任何「像素化」,因爲矢量圖形沒有像素。

plt.savefig('figures/figname.pdf') 

如果你想改變的總體比例:

假設你不想改變比例(不圖像分辨率)的目的,相對字體大小,因爲它是那麼簡單字體只有一步,您可以使用figsize,它可以改變圖形的大小而不會改變其任何部分(文本,標記,線寬)的大小。

plt.figure(figsize=(8,6)) # (width, height) 

,或者如果你已經創建的人物,在其上具有手柄:

fig.set_figwidth(8) 
fig.set_figheight(6) 

所以,如果你做出figsize較大,那麼實際上你讓所有的數字元素小(假設你的最終數字在海報上有固定的大小)。要增加所有的字體/標記/線條尺寸,只需使您的figsize更小。

請注意,pdf或svg的可擴展性取決於您使用的程序的兼容性,以使海報與矢量圖形(無論如何您都會想要的)保持一致,所以請確保不要以JPG或PNG或其他格式導入圖像。

+1

完美,我使用'savefig(filename +「.svg」,transparent = True)'來獲得我需要的東西。插入LibreOffice Impress沒有問題。 (沒有想到矢量圖。) – Kazaar