Python數(shù)據(jù)可視化之使用matplotlib繪制簡(jiǎn)單圖表
一、繪制折線圖
使用plot()繪制折線圖
常用的參數(shù):
x
:表示x軸的數(shù)據(jù)y
:表示y軸的數(shù)據(jù)fmt
:表示快速設(shè)置條樣式的格式字符串。label
:表示應(yīng)用于圖例的標(biāo)簽文本。plot()
會(huì)返回一個(gè)包含Line2D類對(duì)象(代表線條)的列表。
plot()函數(shù)的語(yǔ)法格式:
plot(x,y ,fmt , scalex=True , scaley=true , data=None, label=None 等.....)
實(shí)例:
(1)
(2)
二、繪制柱形圖或堆積圖形
使用bar()繪制柱形圖或堆積柱形圖
bar()的語(yǔ)法格式有: bar(x, height , width=0.8, bottom=None, align='center', data=None, tick_label=None, xerr=None, yerr=None, error_kw=None)
常用參數(shù)的含義:
x
:表示柱形的x坐標(biāo)值height
:表示柱形的高度width
:表示柱形的寬度,默認(rèn)為0.8bottom
:表示柱形底座的y坐標(biāo)值,默認(rèn)為0align
:表示柱形的對(duì)齊方式,有’center’和’edge’兩個(gè)值,其中’center’表示將柱形刻度居中對(duì)齊;‘edge’表示將柱形的左邊與刻度線對(duì)齊。tick_label
:表示柱形對(duì)應(yīng)的刻度標(biāo)簽xerr,yerr
:若未設(shè)為None,則需要為柱形圖添加水平/ 垂直誤差棒error_kw
:表示誤差棒的屬性字典,字典的鍵對(duì)應(yīng)errorbar()函數(shù)- bar()函數(shù)會(huì)返回一個(gè)BarContainer類的對(duì)象。
import numpy as np import matplotlib.pyplot as plt x=np.arange(5) y1=np.array([10,8,7,11,13]) bar_width=0.4 plt.bar(x,y1,tick_label=['a','b','c','d','e'],width=bar_width) plt.title("2020080603039") plt.show()
(2)具有多組柱形的柱形圖
(3)通過給bottom參數(shù)傳值的方式的方式控制柱形的y值
三、繪制條形圖或堆積條形圖
使用barh()繪制條形圖或堆積條形圖
使用barh()函數(shù)的語(yǔ)法格式: barh(y, width, heigth=0.8, left=None, align='center', *)
常用的參數(shù)的含義如下:
y
:表示條形的y坐標(biāo)width
:表示柱形的寬度,默認(rèn)為0.8height
:表示柱形的高度left
:條形左側(cè)的x坐標(biāo),默認(rèn)為0align
:表示柱形的對(duì)齊方式,有’center’和’edge’兩個(gè)值,其中’center’表示將柱形刻度居中對(duì)齊;‘edge’表示將柱形的左邊與刻度線對(duì)齊。barh()
函數(shù)會(huì)返回一個(gè)BarContainer類的對(duì)象。
(2)繪制具有多組條形的條形圖
(3)繪制堆積條形圖
四、繪制堆積面積圖
使用stackplot()繪制堆積面積圖
stackplot()函數(shù)的語(yǔ)法格式: stackplot(x, y , labels=(), baseline='zero', data=None, *)
x
:表示x軸的數(shù)據(jù),可以是一維數(shù)組y
:表示y軸的數(shù)據(jù),可以是二維數(shù)組或一維數(shù)組序列labels
:表示每組折現(xiàn)及填充區(qū)域的標(biāo)簽baseline
:表示計(jì)算基線的方法,包括‘zero’,‘sym’,‘wiggle’,‘weighted_wiggle’
代碼及圖如下:
五、繪制直方圖
使用hist()繪制
和hist()函數(shù)的語(yǔ)法格式如下:
hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, bottom=None,histtype='bar',align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False)
常用的參數(shù)如下:
x
:表示x軸的數(shù)據(jù)。bins
:指定直方圖條形的個(gè)數(shù),默認(rèn)值為10。range
:表示數(shù)據(jù)的范圍,指定數(shù)據(jù)的上下界,默認(rèn)包含繪圖數(shù)據(jù)的最大值和最小值。normed
:是否將直方圖的頻數(shù)轉(zhuǎn)換成頻率。weights
:該參數(shù)可為每一個(gè)數(shù)據(jù)點(diǎn)設(shè)置權(quán)重。cumulative
:是否需要計(jì)算累計(jì)頻數(shù)或頻率。bottom
:可以為直方圖的每個(gè)條形添加基準(zhǔn)線,默認(rèn)為0。histtype
:指定直方圖的類型,默認(rèn)為bar,除此之外,還有barstacked、step和stepfilledalign
:設(shè)置條形邊界值的對(duì)齊方式,默認(rèn)為mid,另外還有l(wèi)eft和rightorientation
:設(shè)置直方圖的擺放方向,默認(rèn)為垂直方向rwidth
:設(shè)置直方圖條形的寬度log
:是否需要對(duì)繪圖數(shù)據(jù)進(jìn)行l(wèi)og變換color
:設(shè)置直方圖的填充色edgecolor:設(shè)置直方圖邊框色label
:設(shè)置直方圖的標(biāo)簽,可通過legend展示其圖例
(1)繪制一個(gè)具有8個(gè)矩形條填充的線條直方圖
(2)改變bins的值則能改變矩形條的條數(shù),如下圖中設(shè)置的66,設(shè)置的數(shù)越大條數(shù)越多
六、繪制餅圖或者圓環(huán)圖
使用pie()繪制餅圖或者圓環(huán)圖
語(yǔ)法格式如下: pie(x,explode=None,labels=None,autopct=None,pctdistance=0.6,shadow=False, labeldistance=1.1, startangle=None,radius=None,counterclock=True,wedgeprops=None,textprops=None, center=(0,0),frame=False,rotatelabels=False,*,data=None)
常用的參數(shù)如下:
x
:表示扇形或鍥形的數(shù)據(jù)explode
:表示扇形或鍥形離開圓心的距離labels
:表示扇形或鍥形對(duì)應(yīng)的標(biāo)簽文本autopct
:表示控制扇形或鍥形的數(shù)值顯示的字符串,可通過格式字符串指定小數(shù)點(diǎn)后的位數(shù).pctdistance
:表示扇形或鍥形對(duì)應(yīng)的數(shù)值標(biāo)簽距離圓心的比例,默認(rèn)為0.6shadow
:表示是否顯示陰影labeldistance
:表示標(biāo)簽文本的繪制位置(相對(duì)于半徑的比例),默認(rèn)為1.1.radius
:表示扇形或鍥形的半徑.startangle
:表示起始繪制角度,默認(rèn)從x軸的正方向逆時(shí)針繪制wedgeprops
:表示控制扇形或鍥形屬性的字典.例如:通過wedgeprops={’‘width’:0.7}將鍥形的寬度設(shè)為0.7.textprops
:表示控制圖表中文本屬性的字典center
:表示圖表中心點(diǎn)位置,默認(rèn)為(0,0)frame
:表示是否顯示圖框
(1)繪制一個(gè)餅形圖
(2)繪制一個(gè)環(huán)形圖
(3)繪制一個(gè)向外移動(dòng)的餅狀圖
七、繪制散點(diǎn)圖或氣泡圖
使用scatter()繪制散點(diǎn)圖或氣泡圖
scatter()函數(shù)語(yǔ)法格式: scatter(x, y, s=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None,verts=None, edgecolors=None,* , plotnonfinite=False,data=None )
八、繪制箱形圖
使用boxplot()繪制箱形圖
使用pyplot的boxplot()函數(shù)可以快速繪制箱形圖,boxplot()函數(shù)的語(yǔ)法如下: boxplot(x, notch=None, sym=None, vert=None, whis=None,positions=None widths=None, patch_artist=None, bootstrap=None,usermedians=None,*,)
九、繪制雷達(dá)圖
使用polar()繪制雷達(dá)圖
十、繪制誤差棒圖
使用errorbar()繪制誤差棒圖
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
用python獲取txt文件中關(guān)鍵字的數(shù)量
這篇文章主要介紹了如何用python獲取txt文件中關(guān)鍵字的數(shù)量,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12python中數(shù)組和列表的簡(jiǎn)單實(shí)例
,Python數(shù)據(jù)類型分為很多種,其中包括元組、字典、列表等,下面這篇文章主要給大家介紹了python中數(shù)組和列表使用的相關(guān)資料,以及python列表和Numpy數(shù)組的區(qū)別,需要的朋友可以參考下2022-03-03Python numpy生成矩陣、串聯(lián)矩陣代碼分享
這篇文章主要介紹了Python numpy生成矩陣、串聯(lián)矩陣代碼分享,具有一定參考價(jià)值,需要的朋友可以了解下。2017-12-12python中子類繼承父類的__init__方法實(shí)例
這篇文章主要給大家詳細(xì)介紹了python中子類如何繼承父類的__init__方法,文中給出了詳細(xì)的示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定參考價(jià)值,有需要的朋友們下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。2016-12-12使用Python程序抓取新浪在國(guó)內(nèi)的所有IP的教程
這篇文章主要介紹了使用Python程序抓取新浪在國(guó)內(nèi)的所有IP的教程,作為Python網(wǎng)絡(luò)編程中獲取IP的一個(gè)小實(shí)踐,需要的朋友可以參考下2015-05-05Python使用scrapy采集數(shù)據(jù)時(shí)為每個(gè)請(qǐng)求隨機(jī)分配user-agent的方法
這篇文章主要介紹了Python使用scrapy采集數(shù)據(jù)時(shí)為每個(gè)請(qǐng)求隨機(jī)分配user-agent的方法,涉及Python使用scrapy采集數(shù)據(jù)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04python3操作redis實(shí)現(xiàn)List列表實(shí)例
本文主要介紹了python3操作redis實(shí)現(xiàn)List列表實(shí)例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08