日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

numpy在折线图上添加取值_见识matplotlib:不常见的一面,折线图

發(fā)布時(shí)間:2025/3/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 numpy在折线图上添加取值_见识matplotlib:不常见的一面,折线图 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

江湖上所公認(rèn)的一句話,字不如表,表不如圖!人們往往都更喜歡看圖說話,那么用python的各位大俠們,大家都在用什么畫圖呢?各種各樣的畫圖包猶如各式各樣的兵器,有的兵器功能單一但是在細(xì)分領(lǐng)域超級(jí)專業(yè)無敵,有的兵器功能多而全,用法靈活。

? 眾所周知,matplotlib是python繪圖的基礎(chǔ)包,能夠生成各種各樣2D或者3D的圖形,用法算是多而全的那種,下邊是matplotlib官網(wǎng)首頁作為例子的幾張圖,大家感受一下:

? 什么?丑拒?不不不,別激動(dòng)!其實(shí)matplotlib一直是一個(gè)低調(diào)奢華有內(nèi)涵的包,需要我們透過它樸實(shí)無華的外表認(rèn)清它豐富多彩的內(nèi)在,來康康這條妖嬈的曲線,有沒有感受到它的召喚?內(nèi)心會(huì)不會(huì)有了一絲絲想要學(xué)習(xí)的沖動(dòng)?

啊?太妖嬈了啊?有文藝的,比如這個(gè)動(dòng)態(tài)的雨滴圖:

? 會(huì)不會(huì)聯(lián)想到玻璃窗氤氳著霧氣的咖啡館外,散落著幾片梧桐落葉的街道,滴滴答答落下的雨珠在淺淺的小水洼中激起朵朵水花,還差一把傘兩個(gè)人就可以腦補(bǔ)一出戲的那種。。。。。

? 咳咳。。。聯(lián)想能力有點(diǎn)強(qiáng),差點(diǎn)hold不住。總之不管有什么樣的想法,matplotlib大概率都能想辦法實(shí)現(xiàn),3D圖像也不在話下,比如官網(wǎng)首頁的那四個(gè)圖最后一個(gè)就是3D的呢!

? 嗯~?太小?看不清?這都不叫事兒,3D清晰大圖來一個(gè)!

? 個(gè)人感覺這個(gè)像帽子一樣的3D圖,不論是從配色還是到形狀都還挺好看的。這“帽子”是官網(wǎng)上給的示例圖,只不過背景上的格子線和刻度被我去掉了,看起來還蠻有質(zhì)感的樣子。

? 所以,不管是2D還是3D,抑或是靜態(tài)、動(dòng)態(tài),matplotlib統(tǒng)統(tǒng)都搞得定。

? 既然matplotlib如此強(qiáng)大,那么新的問題來了,它會(huì)不會(huì)很難學(xué)?

? 答案簡單粗暴又有力,那就是:不會(huì)!

? 用matplotlib實(shí)現(xiàn)畫圖并不難,當(dāng)然要實(shí)現(xiàn)上邊的動(dòng)態(tài)圖和3D圖會(huì)有一點(diǎn)難度,但這也只是相對(duì)于簡單繪圖而言,畫圖的邏輯并沒有相差很多,通過簡單的圖形學(xué)會(huì)運(yùn)用matplotlib繪圖的邏輯以及基礎(chǔ)的知識(shí),再把這些邏輯和知識(shí)細(xì)節(jié)運(yùn)用到復(fù)雜的圖形中去,循序漸進(jìn),水到渠成!

? 光說不練假把式,有句話叫做“Talk is cheap !Show me the code !”

? 那么我們就從一個(gè)簡單又基礎(chǔ)的折線圖開始,揭開matplotlib的層層面紗,愉快的探索它的各種應(yīng)用吧。

畫一條折線

? 雖然說是畫折線圖,但是有些步驟是畫圖通用的,比如說…導(dǎo)包

? 我們的matplotlib依賴numpy包構(gòu)建,而且繪圖過程中有時(shí)也會(huì)需要用numpy生成一些數(shù)字,所以導(dǎo)入繪圖包matplotlib之前都會(huì)先導(dǎo)入numpy包,而pandas也是進(jìn)行數(shù)據(jù)處理的包,并且實(shí)際工作中,用來畫圖的源數(shù)據(jù)很多時(shí)候是表格數(shù)據(jù),所以能夠處理表格數(shù)據(jù)的pandas包也要一起導(dǎo)入進(jìn)來。

? 另外,在matplotlib中包含兩個(gè)模塊,pyplot和pylab,我們這里只導(dǎo)入了pyplot模塊,對(duì)于初學(xué)者來說可能會(huì)不太理解這兩個(gè)模塊都是做什么的,為什么只導(dǎo)入pyplot呢?

? Matplotlib是整個(gè)軟件包;pyplot和pylab是matplotlib中的模塊;pylab是一個(gè)便捷模塊, 在單個(gè)名稱空間中批量導(dǎo)入 matplotlib.pyplot(用于繪圖)和numpy(用于數(shù)學(xué)以及使用數(shù)組)。盡管許多示例都使用pylab,但不再建議使用。對(duì)于非交互式繪圖,建議使用pyplot創(chuàng)建圖形,然后使用OO接口進(jìn)行繪圖。(以上是官網(wǎng)給出的關(guān)于matplotlib與兩個(gè)模塊之間關(guān)系的解釋)

? 是不是理解了為什么只導(dǎo)入matplotlib.pyplot啦?

? 讓我們來繪制一個(gè)簡單的折線圖吧!

? 第一步,先解決數(shù)據(jù)來源問題,也就是我們是要將哪些數(shù)據(jù)轉(zhuǎn)化成圖,這里用前邊導(dǎo)入的numpy包生成一些數(shù)據(jù)用來繪圖。

生成了200個(gè)取值范圍在-1到1之間的浮點(diǎn)數(shù),并且運(yùn)用函數(shù)創(chuàng)建了x和y之間的關(guān)系,下邊我們就對(duì)這組關(guān)系進(jìn)行繪圖,對(duì)于這種簡單的繪圖,可以省略很多步驟,直接調(diào)用繪制折線圖的函數(shù)plt.plot()一步出圖:

喏,這就是上邊的幾行代碼繪制出的折線圖,反應(yīng)的函數(shù)關(guān)系是y = x^2,是不是超級(jí)簡單?

覺得太簡陋了?

嗯~~就算是手繪一張函數(shù)的圖像,也要有圖標(biāo)題、軸標(biāo)簽、圖例等等內(nèi)容,好的!那我們就來完善一下這個(gè)簡陋折線圖,讓它完整更美觀。

而且,這套流程也適用于折線圖之外的其他類型的圖,其他圖也可以參考這套思路來進(jìn)行完善哦。

得到的圖:

? 通常能夠進(jìn)行設(shè)置的標(biāo)題、標(biāo)簽、圖例等,都在代碼中用注釋的形式寫的很清楚了,所以不再占篇幅進(jìn)行贅述。那么對(duì)于一個(gè)折線圖,能夠進(jìn)行設(shè)置的就只有這些內(nèi)容了嘛?當(dāng)然不是,比如說折線的線條樣式,線條顏色,線條上點(diǎn)的樣式、大小、顏色等等,可以設(shè)置的內(nèi)容多到超乎想象,然而實(shí)際的工作中用不到這么多的設(shè)置,有興趣的小伙伴,在運(yùn)行plt.plot()這個(gè)函數(shù)之前,通過shift+tab快捷鍵調(diào)出函數(shù)的幫助文檔,可以探索更多的應(yīng)用。

這是我的一點(diǎn)點(diǎn)探索:

繪制出的圖像如下:

? 額~~~有點(diǎn)丑,不要在意這些細(xì)節(jié)哈,畢竟配色、線條、標(biāo)記什么的鼓搗了半天才鼓搗出一個(gè)看起來不太辣眼睛又能顯示常用參數(shù)作用的圖,我大概是五行缺美商吧。。。。。竟然覺得這個(gè)圖畫出來有點(diǎn)像項(xiàng)鏈(捂臉)。

? 那么,折線圖能夠進(jìn)行設(shè)置的就是這些了嘛?能畫出來的圖就是以上展現(xiàn)出來的這些嘛?當(dāng)然不!最前邊那條妖嬈的曲線本質(zhì)上也是折線圖,而且對(duì)于圖形來說可以進(jìn)行設(shè)置的也不止這些,展現(xiàn)出來的這些大概可以算作是比較豐厚的新手村禮包,至于還可以進(jìn)行哪些設(shè)置實(shí)現(xiàn)哪些效果呢,留個(gè)懸念、賣個(gè)關(guān)子,下次再說咯!嘿嘿!

總結(jié)

以上是生活随笔為你收集整理的numpy在折线图上添加取值_见识matplotlib:不常见的一面,折线图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。