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ā)出“從這一點畫一條線到這一點”這樣的繪圖命令,因此是無標(biāo)度的,光柵后端生成直線的像素表示,其精度取決于DPI設(shè)置。
- 可以看到位圖后端有1種:AGG、
- 矢量圖的后端有3種:PS、PDF、SVG
- 還有一個同時支持兩者的:Cairo
今天我們試一下SVG
正文:
代碼其實很簡單:
第一步
注意順序,設(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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 使用Python插入SVG到PDF文檔中的方法示例
- 使用Python實現(xiàn)Excel文件轉(zhuǎn)換為SVG格式
- Python實現(xiàn)Word文檔轉(zhuǎn)換為圖片(JPG、PNG、SVG等常見格式)
- 使用Python代碼實現(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數(shù)據(jù)分析之?Matplotlib?折線圖繪制
這篇文章主要介紹了Python數(shù)據(jù)分析之?Matplotlib?折線圖繪制,在數(shù)據(jù)分析中,數(shù)據(jù)可視化也非常重要,下文通過數(shù)據(jù)分析展開對折線圖的繪制,需要的小伙伴可以參考一下2022-05-05
Python圖片視頻超分模型RealBasicVSR的使用教程
這篇文章主要和大家分享一個有意思的模型:RealBasicVSR。這個模型可以實現(xiàn)圖片或視頻的超分處理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-05-05
Python使用LSTM實現(xiàn)銷售額預(yù)測詳解
大家經(jīng)常會遇到一些需要預(yù)測的場景,比如預(yù)測品牌銷售額,預(yù)測產(chǎn)品銷量。本文給大家分享一波使用?LSTM?進(jìn)行端到端時間序列預(yù)測的完整代碼和詳細(xì)解釋,需要的可以參考一下2022-07-07
pytorch交叉熵?fù)p失函數(shù)的weight參數(shù)的使用
這篇文章主要介紹了pytorch交叉熵?fù)p失函數(shù)的weight參數(shù)的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05
python中g(shù)eopandas庫安裝出現(xiàn)各種問題的解決辦法
這篇文章主要介紹了關(guān)于python中g(shù)eopandas庫安裝出現(xiàn)各種問題的解決辦法,總結(jié)了在Windows下兩種安裝geopandas庫的方法,方法一是在新環(huán)境下使用conda命令安裝,方法二通過離線安裝GDAL、Fiona、Pyproj、Rtree、Shapely五個庫,再用pip安裝geopandas,需要的朋友可以參考下2024-11-11
Python實現(xiàn)設(shè)置windows桌面壁紙代碼分享
這篇文章主要介紹了Python實現(xiàn)設(shè)置windows桌面壁紙,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-03-03
純numpy卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)手寫數(shù)字識別的實踐
本文主要介紹了純numpy卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)手寫數(shù)字識別的實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08

