前言:
Python初學(xué)者,希望各位大佬看了文章后能指出錯(cuò)誤或者給些建議!
如有雷同,純屬巧合!
= =!
環(huán)境
linux
python3
Matplotlib條形圖
簡單條形圖
使用bar()方法可以很簡單的繪制條形圖!
這個(gè)方法需要傳入的參數(shù)有l(wèi)eft巴帮、height溯泣!就像折現(xiàn)圖與散點(diǎn)圖的x坐標(biāo)和y坐標(biāo)!
matplotlib會(huì)以left作為條形的中點(diǎn),height作為條形的高來繪制條形,left與height都可以傳入多個(gè)值,使用列表或者元組來傳入,在傳參可以直接bar((1, 2, 3), (1, 2, 3))!
設(shè)置width參數(shù)可以控制條形圖案的寬度,當(dāng)然也可以設(shè)置color參數(shù)來設(shè)置條形圖案的顏色!
也可以傳入label參數(shù)來為條形圖添加圖例,別忘了使用legend()方法來顯示圖例就行了!
Matplotlib添加文字說明
使用text()方法即可添加文字說明,傳入?yún)?shù)x坐標(biāo)與y坐標(biāo)還有文字說明即可,matplotlib會(huì)在坐標(biāo)點(diǎn)上添加文字說明,text不能傳入多個(gè)x坐標(biāo)和y坐標(biāo)!
測試
添加中文文字說明
發(fā)現(xiàn)text方法沒有fontpropreties參數(shù)與prop參數(shù)! = =?
百度一下= =竟然百度不到!
決定從根本解決這個(gè)問題!將matplotlib配置成支持中文!
啦啦啦
linux下查找linux系統(tǒng)中的中文字體文件 xxx.ttf
fc-list :lang=zh
找到后(這里我找到的文件是DroidSansFallbackFull.ttf文件)!
將其復(fù)制到matplot的ttf文件夾下!
然后打開matplotlib的配置文件!matplotlibrc
將配置文件中的font.family和font.sans-serif配置項(xiàng)前的#去掉!
并在font.sans-serif配置項(xiàng)冒號(hào)后面添加字體文件的名稱!保存即可完成配置!
接下來就是見證奇跡的時(shí)刻了!
當(dāng)然要先重啟ipython3啦!
我他媽又發(fā)現(xiàn)一個(gè)問題我的坐標(biāo)軸亂碼了= =?
好吧應(yīng)該是我的字體ttf文件只有中文= =,去windows復(fù)制一個(gè)!
最后解決辦法
百度下載了一個(gè)Droid Sans Fallback.ttf字體文件,這個(gè)字體文件中英文數(shù)據(jù)都有!
修改matplotlibrc配置文件!
將字體文件名加到font.sans-serif配置項(xiàng)冒號(hào)后面即可!
測試
Matplotlib添加文本注釋
使用annotate()方法可以添加文本注釋!
傳入的參數(shù)有注釋文本、被注釋的坐標(biāo)(xy)榕茧、注釋文本坐標(biāo)(xytext)垃沦、注釋箭頭屬性(arrowprops)!
注:箭頭屬性參數(shù)值是一個(gè)字典!
注釋箭頭屬性參數(shù)值中的facecolor鍵是用來設(shè)置注釋箭頭顏色的,還有一個(gè)shrink鍵用來設(shè)置箭頭收縮!
測試
添加一個(gè)文本注釋,注釋文本為"這是一個(gè)中文注釋",設(shè)置注釋箭頭顏色為藍(lán)色,設(shè)置注釋箭頭收縮值為0.1!
Matplotlib設(shè)置軸記號(hào)
設(shè)置軸記號(hào)就是設(shè)置x坐標(biāo)軸和y坐標(biāo)軸上顯示的值!
使用xticks()和yticks()方法就可以很簡單的設(shè)置x坐標(biāo)軸與y坐標(biāo)軸上的軸記號(hào)!
這兩個(gè)方法需要傳入兩個(gè)參數(shù)!一個(gè)是原來坐標(biāo)軸上的坐標(biāo)值, 一個(gè)是自定義的坐標(biāo)值!
可以傳入多個(gè)值,利用元組或者列表來傳入!
很直觀的看到原來的坐標(biāo)軸上的數(shù)字變成了自定義的值!