python之matplotlib矢量圖svg?emf
python matplotlib矢量圖svg emf
由于要用word寫論文,插入圖片需要矢量圖格式 emf
,那么首先,要利用matplotlib畫矢量圖 svg
格式。
import matplotlib.pyplot as plt def plot_learning_curve(X_train, X_valid, y_train, y_valid): plt.plot([i for i in range(1, len(X_train) + 1)], y_train, label='Train') plt.plot([i for i in range(1, len(X_train) + 1)], y_valid, label='Valid') plt.legend() plt.axis([0, len(X_train) + 1, 0, 20]) plt.savefig("test.svg", format="svg")
先利用上述代碼,生成 svg
格式的矢量圖,然后再使用在線網(wǎng)站轉(zhuǎn)化為word能用的矢量圖格式 emf
。
常用的圖片格式解釋:
fig
:matlab 默認(rèn)的圖片保存格式,在其他軟件上一般不可用,可視為矢量圖。eps
: 矢量圖,適用于 LaTex。svg
:指可伸縮矢量圖形 (Scalable Vector Graphics)emf
:矢量圖,適合 Word。jpg
:位圖,很古老的圖片格式,同時也幾乎是最常用的圖片格式。bmp
:位圖,未壓縮。pdf
:直接輸出為 pdf。png
:位圖,無損壓縮
使用python制作矢量圖
Get一個使用python制作矢量圖的新技能:
Matplotlib遠(yuǎn)比我們想象的強(qiáng)大,而這只是眾多python強(qiáng)大的包中的一個,不愧是群英薈萃。
繪圖后端我們一般是看不見的,matplotlib有兩種后端:
用戶界面后端(用于pygtk、wxpython、tkinter、qt4或macosx;也稱為“交互式后端”)和硬拷貝后端制作圖像文件(PNG, SVG, PDF, PS;也稱為“非交互式后端”)即Renderer。
介紹具體如下表:
對于渲染引擎(renderer),還可以區(qū)分矢量渲染器(vector)和光柵渲染器(raster)。矢量圖形語言發(fā)出“從這一點(diǎn)畫一條線到這一點(diǎn)”這樣的繪圖命令,因此是無標(biāo)度的,光柵后端生成直線的像素表示,其精度取決于DPI設(shè)置。
- 可以看到位圖后端有1種:AGG、
- 矢量圖的后端有3種:PS、PDF、SVG
- 還有一個同時支持兩者的:Cairo
今天我們試一下SVG
正文:
代碼其實(shí)很簡單:
第一步
注意順序,設(shè)置后端參數(shù)必須在引入pyplot之前。
import matplotlib matplotlib.rcParams['backend'] = 'SVG' import matplotlib.pyplot as plt plt.plot([1,2,3]) plt.savefig('kankan.svg',format='svg')
在相應(yīng)目錄將會生成kankan.svg文件。
第二步
上述文件一般無法直接打開,需要使用相應(yīng)的軟件,我用的是Inkscape,百度一下下載安裝即可。
文件–>打開,選定第一步保存的文件,打開后如下圖:
第三步
如果對圖片沒有其他編輯需求,直接另存為:增強(qiáng)型圖文文件:*.emf
隨后就可以在word或者ppt中將保存好的emf圖片插入。
對比一下直接保存png圖片和emf文件:
左邊是emf圖元文件,右邊是png??梢园?,矢量圖永遠(yuǎn)都不會模糊,尤其在放大的情況下,優(yōu)勢更明顯。
當(dāng)然,一般情況只要png能滿足我們的需求那么就用png,畢竟方便很多。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- 使用Python插入SVG到PDF文檔中的方法示例
- 使用Python實(shí)現(xiàn)Excel文件轉(zhuǎn)換為SVG格式
- Python實(shí)現(xiàn)Word文檔轉(zhuǎn)換為圖片(JPG、PNG、SVG等常見格式)
- 使用Python代碼實(shí)現(xiàn)PDF文檔與SVG文件之間的轉(zhuǎn)換
- python Pygal庫生成SVG(可縮放矢量圖形)圖表示例
- python利用lxml庫剩下操作svg圖片
- 一文帶你了解Python與svg之間的操作
- Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式(網(wǎng)站logo圖標(biāo))動起來
- Python中CairoSVG庫的使用教程
相關(guān)文章
python+opencv實(shí)現(xiàn)的簡單人臉識別代碼示例
這篇文章主要介紹了圖像識別 python+opencv的簡單人臉識別,具有一定參考價值,需要的朋友可以參考下。2017-11-11python對json的相關(guān)操作實(shí)例詳解
這篇文章主要介紹了python對json的相關(guān)操作,結(jié)合實(shí)例形式詳細(xì)分析了json的概念、功能以及Python針對json的解析、輸出、排序、轉(zhuǎn)換等操作技巧,需要的朋友可以參考下2017-01-01python實(shí)現(xiàn)plt x軸坐標(biāo)按1刻度顯示
這篇文章主要介紹了python實(shí)現(xiàn)plt x軸坐標(biāo)按1刻度顯示,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07詳細(xì)整理python 字符串(str)與列表(list)以及數(shù)組(array)之間的轉(zhuǎn)換方法
這篇文章主要介紹了詳細(xì)整理python 字符串(str)與列表(list)以及數(shù)組(array)之間的轉(zhuǎn)換方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python機(jī)器學(xué)習(xí)MATLAB最小二乘法的兩種解讀
這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)中MATLAB最小二乘法的兩種解讀方式,有需要的朋友可以借鑒參考下希望能夠有所幫助2022-02-02