Python數(shù)據(jù)可視化之使用matplotlib繪制簡單圖表
一、繪制折線圖
使用plot()繪制折線圖
常用的參數(shù):
x:表示x軸的數(shù)據(jù)y:表示y軸的數(shù)據(jù)fmt:表示快速設(shè)置條樣式的格式字符串。label:表示應(yīng)用于圖例的標(biāo)簽文本。plot()會返回一個(gè)包含Line2D類對象(代表線條)的列表。
plot()函數(shù)的語法格式:
plot(x,y ,fmt , scalex=True , scaley=true , data=None, label=None 等.....)
實(shí)例:
(1)

(2)

二、繪制柱形圖或堆積圖形
使用bar()繪制柱形圖或堆積柱形圖
bar()的語法格式有: 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:表示柱形的對齊方式,有’center’和’edge’兩個(gè)值,其中’center’表示將柱形刻度居中對齊;‘edge’表示將柱形的左邊與刻度線對齊。tick_label:表示柱形對應(yīng)的刻度標(biāo)簽xerr,yerr:若未設(shè)為None,則需要為柱形圖添加水平/ 垂直誤差棒error_kw:表示誤差棒的屬性字典,字典的鍵對應(yīng)errorbar()函數(shù)- bar()函數(shù)會返回一個(gè)BarContainer類的對象。
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ù)的語法格式: 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:表示柱形的對齊方式,有’center’和’edge’兩個(gè)值,其中’center’表示將柱形刻度居中對齊;‘edge’表示將柱形的左邊與刻度線對齊。barh()函數(shù)會返回一個(gè)BarContainer類的對象。

(2)繪制具有多組條形的條形圖

(3)繪制堆積條形圖

四、繪制堆積面積圖
使用stackplot()繪制堆積面積圖
stackplot()函數(shù)的語法格式: 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ù)的語法格式如下:
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è)置條形邊界值的對齊方式,默認(rèn)為mid,另外還有l(wèi)eft和rightorientation:設(shè)置直方圖的擺放方向,默認(rèn)為垂直方向rwidth:設(shè)置直方圖條形的寬度log:是否需要對繪圖數(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)圖
語法格式如下: 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:表示扇形或鍥形對應(yīng)的標(biāo)簽文本autopct:表示控制扇形或鍥形的數(shù)值顯示的字符串,可通過格式字符串指定小數(shù)點(diǎn)后的位數(shù).pctdistance:表示扇形或鍥形對應(yīng)的數(shù)值標(biāo)簽距離圓心的比例,默認(rèn)為0.6shadow:表示是否顯示陰影labeldistance:表示標(biāo)簽文本的繪制位置(相對于半徑的比例),默認(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è)向外移動的餅狀圖

七、繪制散點(diǎn)圖或氣泡圖
使用scatter()繪制散點(diǎn)圖或氣泡圖
scatter()函數(shù)語法格式: 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ù)的語法如下: 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雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作示例
這篇文章主要介紹了Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作,涉及Python數(shù)學(xué)運(yùn)算及顯示相關(guān)操作技巧,注釋備有詳盡的說明,需要的朋友可以參考下2017-07-07
python進(jìn)行TCP端口掃描的實(shí)現(xiàn)
這篇文章主要介紹了python進(jìn)行TCP端口掃描的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
Python連接數(shù)據(jù)庫學(xué)習(xí)之DB-API詳解
在沒有 Python DB-API 之前,各數(shù)據(jù)庫之間的應(yīng)用接口非?;靵y,實(shí)現(xiàn)各不相同。如果項(xiàng)目需要更換數(shù)據(jù)庫時(shí),則需要做大量的修改,非常不便。Python DB-API 的出現(xiàn)就是為了解決這樣的問題。本文主要介紹了Python連接數(shù)據(jù)庫之DB-API的相關(guān)資料,需要的朋友可以參考。2017-02-02
python使用gdal對shp讀取,新建和更新的實(shí)例
這篇文章主要介紹了python使用gdal對shp讀取,新建和更新的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
PyTorch中tensor.backward()函數(shù)的詳細(xì)介紹及功能實(shí)現(xiàn)
backward()?函數(shù)是PyTorch框架中自動求梯度功能的一部分,它負(fù)責(zé)執(zhí)行反向傳播算法以計(jì)算模型參數(shù)的梯度,這篇文章主要介紹了PyTorch中tensor.backward()函數(shù)的詳細(xì)介紹,需要的朋友可以參考下2024-02-02
python使用openpyxl打開及讀取excel表格過程
openpyxl是一個(gè)Python庫,用于讀寫Excel?2010?xlsx/xlsm文件,它允許你輕松工作與Excel表格,進(jìn)行數(shù)據(jù)處理和分析,支持讀取、創(chuàng)建和修改Excel文件,甚至可以在Excel中插入圖表等,安裝非常簡單,只需要使用pip命令即可2024-09-09

