python中svg函數(shù),python生成svg

python導(dǎo)入svg圖片格式

我正在嘗試使用embeddSVG.py將SVG嵌入PDF中,但是Adobe Acrobat Reader在我的pdf中未顯示svg內(nèi)容。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的張北網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

您最好先將SVG轉(zhuǎn)換為PDF。

Apache Batik包含SVG Rasterizer,盡管其名稱(chēng)如此,但它可以將SVG轉(zhuǎn)換為PDF。

Python實(shí)操:手把手教你用Matplotlib把數(shù)據(jù)畫(huà)出來(lái)

作者:邁克爾·貝耶勒(Michael Beyeler)

如需轉(zhuǎn)載請(qǐng)聯(lián)系華章 科技

如果已安裝Anaconda Python版本,就已經(jīng)安裝好了可以使用的 Matplotlib。否則,可能要訪問(wèn)官網(wǎng)并從中獲取安裝說(shuō)明:

正如使用np作為 NumPy 的縮寫(xiě),我們將使用一些標(biāo)準(zhǔn)的縮寫(xiě)來(lái)表示 Matplotlib 的引入:

在本書(shū)中,plt接口會(huì)被頻繁使用。

讓我們創(chuàng)建第一個(gè)繪圖。

假設(shè)想要畫(huà)出正弦函數(shù)sin(x)的線性圖。得到函數(shù)在x坐標(biāo)軸上0≤x<10內(nèi)所有點(diǎn)的值。我們將使用 NumPy 中的 linspace 函數(shù)來(lái)在x坐標(biāo)軸上創(chuàng)建一個(gè)從0到10的線性空間,以及100個(gè)采樣點(diǎn):

可以使用 NumPy 中的sin函數(shù)得到所有x點(diǎn)的值,并通過(guò)調(diào)用plt中的plot函數(shù)把結(jié)果畫(huà)出來(lái):

你親自嘗試了嗎?發(fā)生了什么嗎?有沒(méi)有什么東西出現(xiàn)?

實(shí)際情況是,取決于你在哪里運(yùn)行腳本,可能無(wú)法看到任何東西。有下面幾種可能性:

1. 從.py腳本中繪圖

如果從一個(gè)腳本中運(yùn)行 Matplotlib,需要加上下面的這行調(diào)用:

在腳本末尾調(diào)用這個(gè)函數(shù),你的繪圖就會(huì)出現(xiàn)!

2. 從 IPython shell 中繪圖

這實(shí)際上是交互式地執(zhí)行Matplotlib最方便的方式。為了讓繪圖出現(xiàn),需要在啟動(dòng) IPython 后使用所謂的%matplotlib魔法命令。

接下來(lái),無(wú)須每次調(diào)用plt.show()函數(shù),所有的繪圖將會(huì)自動(dòng)出現(xiàn)。

3. 從 Jupyter Notebook 中繪圖

如果你是從基于瀏覽器的 Jupyter Notebook 中看這段代碼,需要使用同樣的%matplotlib魔法命令。然而,也可以直接在notebook中嵌入圖形,這會(huì)有兩種輸出選項(xiàng):

在本書(shū)中,將會(huì)使用inline選項(xiàng):

現(xiàn)在再次嘗試一下:

上面的命令會(huì)得到下面的繪圖輸出結(jié)果:

如果想要把繪圖保存下來(lái)留作以后使用,可以直接在 IPython 或者 Jupyter Notebook 使用下面的命令保存:

僅需要確保你使用了支持的文件后綴,比如.jpg、.png、.tif、.svg、.eps或者.pdf。

作為本章最后一個(gè)測(cè)試,讓我們對(duì)外部數(shù)據(jù)集進(jìn)行可視化,比如scikit-learn中的數(shù)字?jǐn)?shù)據(jù)集。

為此,需要三個(gè)可視化工具:

那么開(kāi)始引入這些包吧:

第一步是載入實(shí)際數(shù)據(jù):

如果沒(méi)記錯(cuò)的話,digits應(yīng)該有兩個(gè)不同的數(shù)據(jù)域:data域包含了真正的圖像數(shù)據(jù),target域包含了圖像的標(biāo)簽。相對(duì)于相信我們的記憶,我們還是應(yīng)該對(duì)digits稍加 探索 。輸入它的名字,添加一個(gè)點(diǎn)號(hào),然后按Tab鍵:digits.TAB,這個(gè)操作將向我們展示digits也包含了一些其他的域,比如一個(gè)名為images的域。images和data這兩個(gè)域,似乎簡(jiǎn)單從形狀上就可以區(qū)分。

兩種情況中,第一維對(duì)應(yīng)的都是數(shù)據(jù)集中的圖像數(shù)量。然而,data中所有像素都在一個(gè)大的向量中排列,而images保留了各個(gè)圖像8×8的空間排列。

因此,如果想要繪制出一副單獨(dú)的圖像,使用images將更加合適。首先,使用NumPy的數(shù)組切片從數(shù)據(jù)集中獲取一幅圖像:

這里是從1797個(gè)元素的數(shù)組中獲取了它的第一行數(shù)據(jù),這行數(shù)據(jù)對(duì)應(yīng)的是8×8=64個(gè)像素。下面就可以使用plt中的imshow函數(shù)來(lái)繪制這幅圖像:

上面的命令得到下面的輸出:

此外,這里也使用cmap參數(shù)指定了一個(gè)顏色映射。默認(rèn)情況下,Matplotlib 使用MATLAB默認(rèn)的顏色映射jet。然而,在灰度圖像的情況下,gray顏色映射更有效。

最后,可以使用plt的subplot函數(shù)繪制全部數(shù)字的樣例。subplot函數(shù)與MATLAB中的函數(shù)一樣,需要指定行數(shù)、列數(shù)以及當(dāng)前的子繪圖索引(從1開(kāi)始計(jì)算)。我們將使用for 循環(huán)在數(shù)據(jù)集中迭代出前十張圖像,每張圖像都分配到一個(gè)單獨(dú)的子繪圖中。

這會(huì)得到下面的輸出結(jié)果:

關(guān)于作者:Michael Beyeler,華盛頓大學(xué)神經(jīng)工程和數(shù)據(jù)科學(xué)專(zhuān)業(yè)的博士后,主攻仿生視覺(jué)計(jì)算模型,用以為盲人植入人工視網(wǎng)膜(仿生眼睛),改善盲人的視覺(jué)體驗(yàn)。 他的工作屬于神經(jīng)科學(xué)、計(jì)算機(jī)工程、計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)的交叉領(lǐng)域。同時(shí)他也是多個(gè)開(kāi)源項(xiàng)目的積極貢獻(xiàn)者。

本文摘編自《機(jī)器學(xué)習(xí):使用OpenCV和Python進(jìn)行智能圖像處理》,經(jīng)出版方授權(quán)發(fā)布。

python富文本輸出是什么

1、富文本(rich output)介紹在python中,對(duì)象(object)可以通過(guò)其__repr__方法描述其文本表示(texturalrepresentation)。Ipython基于該思想,允許對(duì)象可以使用更加豐富的形式,包括:HTML、JSON、JPEG、SVG、LaTaX。

2、應(yīng)用引入包 display函數(shù)用于顯示對(duì)象不同類(lèi)型表示的通用工具。可以把它想象成用于顯示富文本的print函數(shù) from IPython.display import display 幾個(gè)要點(diǎn):對(duì)一個(gè)對(duì)象調(diào)用display,將會(huì)把所有可能的表現(xiàn)形式均發(fā)送給當(dāng)前的notebook這些表現(xiàn)形式(representation)將直接存儲(chǔ)在當(dāng)前的Notebook中 一般而言,Notebook將使用最豐富的形式來(lái)顯示。

標(biāo)題名稱(chēng):python中svg函數(shù),python生成svg
文章鏈接:http://muchs.cn/article8/hcpeop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版小程序開(kāi)發(fā)、網(wǎng)站收錄、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)