Matplotlib學(xué)習(xí)筆記(一)

前言:

Python初學(xué)者,希望各位大佬看了文章后能指出錯(cuò)誤或者給些建議!

如有雷同,純屬巧合!

= =!

環(huán)境

linux

python3

安裝

pip3 install matplotlib

matplotlib下中文亂碼解決

網(wǎng)上有多種解決辦法,我經(jīng)過(guò)嘗試選擇了可行的其中一種!

該方法在我的matplotlib學(xué)習(xí)筆記(二)中被改進(jìn)了!

Linux下:

fc-list :lang=zh #查看系統(tǒng)中中文字體存放路徑

python中:

導(dǎo)入FontProperties模塊

創(chuàng)建font實(shí)例,將本地中文字體路徑作為fname參數(shù)值傳遞給FontProperties!

然后在繪圖中需要用到中文的地方傳入?yún)?shù)fontproperties=font即可解決中文亂碼問(wèn)題聊替!注:在圖例中文亂碼問(wèn)題中需要在調(diào)用legend()方法時(shí)傳入?yún)?shù)prop=font!

測(cè)試



Matplotlib簡(jiǎn)單折線圖繪制

使用pyplot模塊下的plot(x坐標(biāo), y坐標(biāo))方法可以很方便的繪制折線圖!

簡(jiǎn)單折線圖


X坐標(biāo)和Y坐標(biāo)可以傳入多個(gè)值,利用列表或者元組來(lái)存儲(chǔ)這些值!作為參數(shù)傳入給plot方法matplotlib會(huì)根據(jù)迭代來(lái)獲取相對(duì)應(yīng)的X坐標(biāo)值和Y坐標(biāo)值并根據(jù)坐標(biāo)來(lái)連線!

設(shè)置折線粗細(xì)

使用linewidth參數(shù)可以設(shè)置折現(xiàn)的粗細(xì),linewidth可以簡(jiǎn)寫(xiě)成lw!


Matplotlib簡(jiǎn)單散點(diǎn)圖繪制

使用pyplot模塊下的scatter(x坐標(biāo), y坐標(biāo))方法可以很簡(jiǎn)單的繪制散點(diǎn)圖!


簡(jiǎn)單散點(diǎn)圖


X坐標(biāo)與Y坐標(biāo)可以是多個(gè)值,利用列表或者元組存儲(chǔ)后存入即可讓matplotlib繪制多個(gè)散點(diǎn)!


設(shè)置散點(diǎn)大小

使用s參數(shù)可以設(shè)置散點(diǎn)的大小!


設(shè)置散點(diǎn)顏色

使用c參數(shù)可以設(shè)置散點(diǎn)顏色!

參數(shù)值可以是r(red), g(grenn), b(blue), k(black)等等, 還可以使用十六進(jìn)制顏色代碼!


設(shè)置散點(diǎn)格式

使用marker參數(shù)可以設(shè)置散點(diǎn)格式

參數(shù)值有

's' -> 正方形

'p' -> 六邊形

'.' -> .

等等

可以查看官方的散點(diǎn)格式介紹:markers介紹



Matplotlib設(shè)置散點(diǎn)圖顏色映射

使用顏色映射時(shí),c參數(shù)的值需要設(shè)置成x坐標(biāo)列表繪制y坐標(biāo)列表!還要設(shè)置cmap參數(shù)值為plt.cm.Blues或者其他的顏色映射表代碼如plt.cm.Reds!



保存圖表

使用savefig(路徑, )方法可以保存圖標(biāo)到本地路徑!


去掉圖標(biāo)多余空白區(qū)域

設(shè)置bbox_inches參數(shù),參數(shù)值為"tight"可以將保存圖片的多余空白區(qū)域去掉!



隱藏坐標(biāo)軸

設(shè)置plt.axes().getxaxis().set_visible(False)可以隱藏x坐標(biāo)軸!


設(shè)置plt.axes().get_yaxis().set_visible(False)可以隱藏y坐標(biāo)軸!


固定坐標(biāo)范圍

使用plt.axis([xmin, xmax, ymin, ymax])可以固定繪制圖的坐標(biāo)范圍!



Xlim(xmin, xmax)可以固定繪制圖的x坐標(biāo)范圍,Ylim可以固定繪制圖dy坐標(biāo)范圍!



添加圖例

在調(diào)用繪制函數(shù)時(shí)如plot、scatter加上label=注釋參數(shù)可以很簡(jiǎn)單的為圖片添加圖例!

不過(guò)必須調(diào)用legend()方法來(lái)顯示圖例!

另外grid(True)方法可以讓圖片顯示網(wǎng)格!


圖例顯示中文

跟上面講的一樣,在legend方法中加入?yún)?shù)prop=font即可

font為FontProperties實(shí)例!


設(shè)置圖例位置

在legend中使用loc參數(shù)可以設(shè)置圖例位置

可以設(shè)置的位置參數(shù)有



創(chuàng)建子圖

子圖就是在主圖下分割出來(lái)的圖!

使用subplot()方法即可創(chuàng)建一張子圖,此方法也是用來(lái)切換子圖的!

該方法需要傳遞三個(gè)參數(shù),分別是行數(shù)廉沮、列數(shù)滞时、序號(hào)!

行數(shù):主圖行分割的次數(shù)!

列數(shù):主圖列分割的次數(shù)!

也就是說(shuō)當(dāng)創(chuàng)建一張子圖時(shí),指定的行數(shù)和列數(shù)即子圖獲得由主圖行數(shù)、列數(shù)分割到的指定行數(shù)曼玩、列數(shù)分之1!例如subplot(2, 1, 1)即這張子圖的行數(shù)為主圖行數(shù)的2分之一,列數(shù)為主圖的1分之一,序號(hào)為1!

當(dāng)行數(shù)和列數(shù)的值小于10時(shí)可以簡(jiǎn)寫(xiě)成221即2行2列序號(hào)為1!否則要寫(xiě)成(10, 10, 1)

當(dāng)創(chuàng)建完多張子圖時(shí),想要切換子圖來(lái)繪制時(shí)就需要再調(diào)用該方法參數(shù)與創(chuàng)建子圖時(shí)的參數(shù)必須一致!

當(dāng)切換了子圖后所有的繪圖操作都是針對(duì)指定子圖的!

測(cè)試

創(chuàng)建一張子圖,分割主圖行數(shù)的一半,和主圖列數(shù)的全部!


創(chuàng)建4張子圖,每張子圖的行數(shù)為主圖行數(shù)的2分之一, 列數(shù)也為主圖行數(shù)的2分之一


子圖間的切換


圖片中的參數(shù)"gs"g為顏色, s為坐標(biāo)點(diǎn)圖案(正方形圖案)!可以以這樣的方式來(lái)傳遞顏色、圖案等!參數(shù)

注:這里使用了plot()方法卻只繪制出了散點(diǎn)圖!因?yàn)樵趥鬟f參數(shù)時(shí)沒(méi)有傳遞線的圖案所導(dǎo)致的!

改進(jìn)



Matplotlib figure()方法

使用figure()方法可以用來(lái)創(chuàng)建多個(gè)主圖,這些主圖是完全獨(dú)立的圖!

不使用figure()方法時(shí)默認(rèn)有一張主圖!

使用了figure()方法后可以使用plt.get_fignums()方法來(lái)查看當(dāng)前創(chuàng)建的主圖數(shù)!


figure()方法可以傳入num參數(shù)參數(shù)值為一個(gè)整數(shù)!代表著這張主圖的序號(hào)!就像子圖一樣當(dāng)想要來(lái)回切換主圖時(shí)就可以利用這個(gè)序號(hào)來(lái)切換!每切換了一張主圖后所有繪圖操作只對(duì)當(dāng)前主圖有效!


figure()方法還可以傳入figsize參數(shù)!

參數(shù)值需要兩個(gè)整數(shù)一個(gè)為行長(zhǎng)一個(gè)為列長(zhǎng)!使用列表或者元組來(lái)傳遞!


測(cè)試

創(chuàng)建兩張主圖一張大小為10,10一張為4,4!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渤滞,一起剝皮案震驚了整個(gè)濱河市蔼水,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吊说,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厅贪,死亡現(xiàn)場(chǎng)離奇詭異养涮,居然都是意外死亡眉抬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)库北,“玉大人寒瓦,你說(shuō)我怎么就攤上這事±悖” “怎么了颈墅?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵恤筛,是天一觀的道長(zhǎng)芹橡。 經(jīng)常有香客問(wèn)我林说,道長(zhǎng),這世上最難降的妖魔是什么豪直? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任珠移,我火速辦了婚禮,結(jié)果婚禮上勾习,老公的妹妹穿的比我還像新娘懈玻。我一直安慰自己,他們只是感情好艺栈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布湿右。 她就那樣靜靜地躺著历涝,像睡著了一般荧库。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上场刑,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天牵现,我揣著相機(jī)與錄音邀桑,去河邊找鬼。 笑死贼急,一個(gè)胖子當(dāng)著我的面吹牛捏萍,可吹牛的內(nèi)容都是我干的令杈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼掉丽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼机打!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起皆辽,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤芥挣,失蹤者是張志新(化名)和其女友劉穎空免,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體扼菠,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡循榆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年秧饮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泽篮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖亏拉,靈堂內(nèi)的尸體忽然破棺而出专筷,到底是詐尸還是另有隱情蒸苇,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布味咳,位于F島的核電站槽驶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏罕拂。R本人自食惡果不足惜全陨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一辱姨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧枢舶,春花似錦替久、人聲如沸侣肄。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拗盒。三九已至锥债,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間登夫,已是汗流浹背允趟。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工潮剪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狮斗。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓碳褒,卻偏偏與公主長(zhǎng)得像骤视,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子睹逃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容