我正在使用matplotlib來製作一些圖表,不幸的是我不能在沒有白色背景的情況下導出它們。如何從透明背景的matplotlib導出圖塊?
換句話說,當我出口的陰謀像這樣和另一個圖像的頂部位置,它的白色背景隱藏背後是什麼,而不是讓它顯示出來。我怎樣才能用透明背景導出陰謀?
我正在使用matplotlib來製作一些圖表,不幸的是我不能在沒有白色背景的情況下導出它們。如何從透明背景的matplotlib導出圖塊?
換句話說,當我出口的陰謀像這樣和另一個圖像的頂部位置,它的白色背景隱藏背後是什麼,而不是讓它顯示出來。我怎樣才能用透明背景導出陰謀?
使用matplotlib savefig
函數將關鍵字參數transparent=True
保存爲png文件。
In [30]: x = np.linspace(0,6,31)
In [31]: y = np.exp(-0.5*x) * np.sin(x)
In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]
In [33]: savefig('demo.png', transparent=True)
結果:
當然,這情節沒有顯示出透明度。以下是使用ImageMagick display
命令顯示的PNG文件的屏幕截圖。棋盤圖案是通過PNG文件的透明部分可見的背景。
Png文件可以處理透明度。 因此,您可以使用此問題Save plot to image file instead of displaying it using Matplotlib,以便將圖形保存爲png
文件。
如果你想要把所有的白色像素透明,有這個其他問題:Using PIL to make all white pixels transparent?
如果你想打開的整個區域,以透明,那麼就這個問題:然後在此使用PIL庫像問題Python PIL: how to make area transparent in PNG?,以使您的圖形透明。
謝謝,但這沒有幫助。我確實知道png能夠透明,但matplotlib的輸出不是。 再加上你的建議只涵蓋了當你想刪除矩形的情況。我希望我的情節被保存,我的背景被刪除。 – Cupitor 2013-04-07 01:16:26
據我記得你設置哪個是png中的透明顏色。文件。將白色設置爲透明度顏色,然後就可以了。 – 2013-04-07 01:22:07
我想255是白色的,當我和它一起去的時候,我的情節丟了! – Cupitor 2013-04-07 01:30:38