python之matplotlib矢量圖svg?emf
python matplotlib矢量圖svg emf
由于要用word寫(xiě)論文,插入圖片需要矢量圖格式 emf ,那么首先,要利用matplotlib畫(huà)矢量圖 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 。

常用的圖片格式解釋?zhuān)?/p>
fig:matlab 默認(rèn)的圖片保存格式,在其他軟件上一般不可用,可視為矢量圖。eps: 矢量圖,適用于 LaTex。svg:指可伸縮矢量圖形 (Scalable Vector Graphics)emf:矢量圖,適合 Word。jpg:位圖,很古老的圖片格式,同時(shí)也幾乎是最常用的圖片格式。bmp:位圖,未壓縮。pdf:直接輸出為 pdf。png:位圖,無(wú)損壓縮
使用python制作矢量圖
Get一個(gè)使用python制作矢量圖的新技能:
Matplotlib遠(yuǎn)比我們想象的強(qiáng)大,而這只是眾多python強(qiáng)大的包中的一個(gè),不愧是群英薈萃。
繪圖后端我們一般是看不見(jiàn)的,matplotlib有兩種后端:
用戶界面后端(用于pygtk、wxpython、tkinter、qt4或macosx;也稱(chēng)為“交互式后端”)和硬拷貝后端制作圖像文件(PNG, SVG, PDF, PS;也稱(chēng)為“非交互式后端”)即Renderer。
介紹具體如下表:

對(duì)于渲染引擎(renderer),還可以區(qū)分矢量渲染器(vector)和光柵渲染器(raster)。矢量圖形語(yǔ)言發(fā)出“從這一點(diǎn)畫(huà)一條線到這一點(diǎn)”這樣的繪圖命令,因此是無(wú)標(biāo)度的,光柵后端生成直線的像素表示,其精度取決于DPI設(shè)置。
- 可以看到位圖后端有1種:AGG、
- 矢量圖的后端有3種:PS、PDF、SVG
- 還有一個(gè)同時(shí)支持兩者的:Cairo
今天我們?cè)囈幌耂VG
正文:
代碼其實(shí)很簡(jiǎn)單:
第一步
注意順序,設(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)目錄將會(huì)生成kankan.svg文件。
第二步
上述文件一般無(wú)法直接打開(kāi),需要使用相應(yīng)的軟件,我用的是Inkscape,百度一下下載安裝即可。
文件–>打開(kāi),選定第一步保存的文件,打開(kāi)后如下圖:

第三步
如果對(duì)圖片沒(méi)有其他編輯需求,直接另存為:增強(qiáng)型圖文文件:*.emf
隨后就可以在word或者ppt中將保存好的emf圖片插入。
對(duì)比一下直接保存png圖片和emf文件:

左邊是emf圖元文件,右邊是png??梢园?,矢量圖永遠(yuǎn)都不會(huì)模糊,尤其在放大的情況下,優(yōu)勢(shì)更明顯。
當(dāng)然,一般情況只要png能滿足我們的需求那么就用png,畢竟方便很多。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 使用Python插入SVG到PDF文檔中的方法示例
- 使用Python實(shí)現(xiàn)Excel文件轉(zhuǎn)換為SVG格式
- Python實(shí)現(xiàn)Word文檔轉(zhuǎn)換為圖片(JPG、PNG、SVG等常見(jiàn)格式)
- 使用Python代碼實(shí)現(xiàn)PDF文檔與SVG文件之間的轉(zhuǎn)換
- python Pygal庫(kù)生成SVG(可縮放矢量圖形)圖表示例
- python利用lxml庫(kù)剩下操作svg圖片
- 一文帶你了解Python與svg之間的操作
- Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式(網(wǎng)站logo圖標(biāo))動(dòng)起來(lái)
- Python中CairoSVG庫(kù)的使用教程
相關(guān)文章
python+opencv實(shí)現(xiàn)的簡(jiǎn)單人臉識(shí)別代碼示例
這篇文章主要介紹了圖像識(shí)別 python+opencv的簡(jiǎn)單人臉識(shí)別,具有一定參考價(jià)值,需要的朋友可以參考下。2017-11-11
python對(duì)json的相關(guān)操作實(shí)例詳解
這篇文章主要介紹了python對(duì)json的相關(guān)操作,結(jié)合實(shí)例形式詳細(xì)分析了json的概念、功能以及Python針對(duì)json的解析、輸出、排序、轉(zhuǎn)換等操作技巧,需要的朋友可以參考下2017-01-01
python實(shí)現(xiàn)plt x軸坐標(biāo)按1刻度顯示
這篇文章主要介紹了python實(shí)現(xiàn)plt x軸坐標(biāo)按1刻度顯示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
8個(gè)Python必備的PyCharm插件(附下載地址)
Python是一種廣泛使用的編程語(yǔ)言,PyCharm是最受歡迎的Python IDE之一,本文就來(lái)介紹一下8個(gè)Python必備的PyCharm插件,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
詳細(xì)整理python 字符串(str)與列表(list)以及數(shù)組(array)之間的轉(zhuǎn)換方法
這篇文章主要介紹了詳細(xì)整理python 字符串(str)與列表(list)以及數(shù)組(array)之間的轉(zhuǎn)換方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
python機(jī)器學(xué)習(xí)MATLAB最小二乘法的兩種解讀
這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)中MATLAB最小二乘法的兩種解讀方式,有需要的朋友可以借鑒參考下希望能夠有所幫助2022-02-02
利用Python將txt文件錄入Excel表格的全過(guò)程
Python具有基本的文本文件讀寫(xiě)功能,Python的標(biāo)準(zhǔn)庫(kù)提供有更豐富的讀寫(xiě)功能,下面這篇文章主要給大家介紹了關(guān)于如何利用Python將txt文件錄入Excel表格的相關(guān)資料,需要的朋友可以參考下2021-11-11

