0

我目前正在撰寫一篇科學論文,並使用matplotlib生成大部分數字。我有一個使用makefile生成的管道,當我更新數據時,它會重新生成所有圖。我的問題是這些數字是由多個面板組成的,其中一些面板應該包含我使用Adobe Illustrator創建的矢量插圖。更新我的原始數據時,如何自動將圖形與插圖組合起來?我可以將矢量插圖保存爲光柵格式,然後使用matplotlib的imshow函數顯示它們,但我希望輸出是矢量以確保最佳的打印質量。如何自動將matplotlib圖形與Adobe Illustrator矢量插圖組合使用?

+1

你試過讓所有的圖片都在後端設置爲SVG矢量格式? – MattDMo 2014-11-05 18:22:21

+0

Matplotlib無法導入SVG圖像。 – tom10 2014-11-05 21:10:03

+0

@MattDMo是的,我可以將用matplotlib製作的部件導出爲SVG,但是之後我需要另一個程序將它們與Illustrator圖像結合 - 所以問題是我可以使用哪個程序來達到此目的?我可以使用matplotlib本身將圖像組合在一起,但是正如tom10指出的那樣,matplotlib無法導入使用illustrator製作的任何SVG圖像。 – 2014-11-06 09:41:14

回答

0

一些更廣泛的谷歌搜索後,我發現這個老message on the matplotlib mailing list

線程建議使用Python庫PyX,這對我來說效果很好。

我可以節省插畫圖和matplotlib地塊爲.EPS文件,然後將它們組合是這樣的:

import pyx 
c = pyx.canvas.canvas() 
c.insert(pyx.epsfile.epsfile(0, 0, "1.eps", align="tl")) 
c.insert(pyx.epsfile.epsfile(0,0,"2.eps", align="tr")) 
c.writeEPSfile("combined.eps")