




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第python用matplotlib可視化繪圖詳解目錄1、Matplotlib簡(jiǎn)介2、Matplotlib圖形繪制1)折線圖2)柱狀圖3)條形圖3)餅圖4)散點(diǎn)圖5)直方圖6)箱型圖7)子圖
1、Matplotlib簡(jiǎn)介
Matplotlib簡(jiǎn)介:
Matplotlib是一個(gè)python的2D繪圖庫(kù),它以各種硬拷貝格式和跨平臺(tái)的交互式環(huán)境生成出版質(zhì)量級(jí)別的圖形,matplotlib對(duì)于圖像美化方面比較完善,可以自定義線條的顏色和樣式,可以在一張繪圖紙上繪制多張小圖,也可以在一張圖上繪制多條線,可以很方便地將數(shù)據(jù)可視化并對(duì)比分析。同Excel繪制相關(guān)圖標(biāo)相比,使用Matplotlib繪制自由度更高,并且能解決excel無(wú)法繪制數(shù)據(jù)量較大、維度較多的圖表問題。
如何使用Matplotlib:
python環(huán)境下:
pipinstallmatplotlib
jupyternotebook中:
!pipinstallmatplotlib
(強(qiáng)烈建議安裝anaconda,一些常用的包就不用在單獨(dú)安裝了)安裝了anaconda了,直接導(dǎo)包就行
importmatplotlib.pyplotasplt#plt是別名
Matplotlib繪制圖形:
折線圖plot柱狀圖bar條形圖barh餅圖pie散點(diǎn)圖scatter直方圖hist箱形圖boxplot子圖subplot
2、Matplotlib圖形繪制
1)折線圖
折線圖(linechart)是一種將數(shù)據(jù)點(diǎn)按照順序連接起來的圖形,折線圖是排列在工作表的列或行中的數(shù)據(jù)可以繪制到折線圖中,折線圖可以顯示隨時(shí)間(根據(jù)常用比例設(shè)置)而變化的連續(xù)數(shù)據(jù),因此非常適用于顯示在相等時(shí)間間隔下數(shù)據(jù)的趨勢(shì)。
plt.figure(figsize=(10,6))#調(diào)整畫布大小
plt.plot(data["日期"],data["自配送銷售額"],color='y')#通過color調(diào)整顏色
plt.xticks(rotation=45)#x軸傾斜的角度
plt.show()
其中顏色可以設(shè)置成很多,下表為部分:
r紅色g綠色b藍(lán)色c青色m品紅y黃色k黑色w白色淺粉紅#FFB6C1猩紅#DC143C
最底下為rgb顏色值,可以查看RGB顏色值與十六進(jìn)制顏色碼轉(zhuǎn)換工具里邊比較詳細(xì)
plt.figure(figsize=(10,5))
plt.plot(data["日期"],data["總銷售額"],color='r',linewidth=0.5,marker="*",line)
plt.plot(data["日期"],data["FBA銷售額"],color='g',linewidth=0.5,marker="2",line)
plt.plot(data["日期"],data["自配送銷售額"],color='y',linewidth=0.5,marker="s",line)
plt.xticks(rotation=45)#旋轉(zhuǎn)x軸標(biāo)注
font={
"family":"kaiti",
#
設(shè)置字體的樣式
"size":"20"
#
設(shè)置字體的大小
plt.rc("font",**font)
#設(shè)置X軸標(biāo)簽
plt.xlabel("時(shí)間")
#設(shè)置y軸標(biāo)簽
plt.ylabel("數(shù)額")
plt.show()
#linewidth是設(shè)置線的寬度
#marker是設(shè)置線的拐點(diǎn)標(biāo)記樣式
常用字體名稱:
楷體kaiti黑體SimHei微軟雅黑MicrosoftYaHei新宋體NSimSun仿宋_GB2312FangSong_GB2312楷體_GB2312KaiTi_GB2312
常用線型:
實(shí)線-點(diǎn)虛線:破折線--點(diǎn)劃線-.不畫線或
用標(biāo)記:
點(diǎn).上三角^上三叉2正方形s星號(hào)*菱形D渲染指定的字符。例如$f$以字母f為標(biāo)記。$...$
2)柱狀圖
柱形圖,又稱長(zhǎng)條圖、柱狀統(tǒng)計(jì)圖(德文:Sulendiagramm、英文:barchart、西班牙文:diagramadebarras)亦稱條圖、條狀圖、棒形圖,是一種以長(zhǎng)方形的長(zhǎng)度為變量的統(tǒng)計(jì)圖表。長(zhǎng)條圖用來比較兩個(gè)或以上的價(jià)值(不同時(shí)間或者不同條件),只有一個(gè)變量,通常利用于較小的數(shù)據(jù)集分析。長(zhǎng)條圖亦可橫向排列,或用多維方式表達(dá)。
matplotlib.pyplot.bar(x,height,width=0.8,bottom=None,*,align='center',data=None,**kwargs)
參數(shù)說明:
x:浮點(diǎn)型數(shù)組,柱形圖的x軸數(shù)據(jù)。height:浮點(diǎn)型數(shù)組,柱形圖的高度。width:浮點(diǎn)型數(shù)組,柱形圖的寬度。bottom:浮點(diǎn)型數(shù)組,底座的y坐標(biāo),默認(rèn)0。align:柱形圖與x坐標(biāo)的對(duì)齊方式,center以x位置為中心,這是默認(rèn)值。edge:將柱形圖的左邊緣與x位置對(duì)齊。要對(duì)齊右邊緣的條形,可以傳遞負(fù)數(shù)的寬度值及align=edge。
**kwargs::其他參數(shù)。
plt.figure(figsize=(10,5))
plt.bar(data["排序"],data["銷量"])
##調(diào)整畫布外框顏色上:top下:bottom左:left右:right
ax=plt.gca()
ax.spines["top"].set_color("w")
ax.spines["bottom"].set_color("r")
ax.spines["left"].set_color("r")
ax.spines["right"].set_color("w")
##調(diào)整x、y軸刻度
plt.xlim(data.index.values[0],data.index.values[-1])#x軸從0開始到最后一個(gè)0第一個(gè)-1最后一個(gè)
plt.ylim(np.min(data["銷量"]),np.max(data["銷量"]))
#最小到最大
plt.show()
3)條形圖
條形圖(barchart)是用寬度相同的條形的高度或長(zhǎng)短來表示數(shù)據(jù)多少的圖形。條形圖可以橫置或縱置,縱置時(shí)也稱為柱形圖(columnchart)。此外,條形圖有簡(jiǎn)單條形圖、復(fù)式條形圖等形式。
plt.figure(figsize=(10,5))
plt.barh(data["排序"],data["銷量"])
##調(diào)整畫布外框顏色上:top下:bottom左:left右:right
ax=plt.gca()
ax.spines["top"].set_color("w")
ax.spines["bottom"].set_color("r")
ax.spines["left"].set_color("r")
ax.spines["right"].set_color("w")
##調(diào)整x、y軸刻度
plt.xlim(np.min(data["銷量"]),np.max(data["銷量"]))
#x軸從0開始到最后一個(gè)0第一個(gè)-1最后一個(gè)
plt.ylim(data.index.values[0],data.index.values[-1])#最小到最大
plt.show()
條形圖就是把柱狀圖放倒,調(diào)整X、Y軸即可
3)餅圖
matplotlib.pyplot.pie(x,explode=None,labels=None,colors=None,autopct=None,pctdistance=0.6,shadow=False,labeldistance=1.1,startangle=0,radius=1,counterclock=True,wedgeprops=None,textprops=None,center=0,0,frame=False,rotatelabels=False,*,normalize=None,data=None)[source]
參數(shù)說明:
x:浮點(diǎn)型數(shù)組,表示每個(gè)扇形的面積。
explode:數(shù)組,表示各個(gè)扇形之間的間隔,默認(rèn)值為0。
labels:列表,各個(gè)扇形的標(biāo)簽,默認(rèn)值為None。
colors:數(shù)組,表示各個(gè)扇形的顏色,默認(rèn)值為None。
autopct:設(shè)置餅圖內(nèi)各個(gè)扇形百分比顯示格式,%d%%整數(shù)百分比,%0.1f一位小數(shù),%0.1f%%一位小數(shù)百分比,%0.2f%%兩位小數(shù)百分比。
labeldistance:標(biāo)簽標(biāo)記的繪制位置,相對(duì)于半徑的比例,默認(rèn)值為1.1,如1則繪制在餅圖內(nèi)側(cè)。
pctdistance::類似于labeldistance,指定autopct的位置刻度,默認(rèn)值為0.6。
shadow::布爾值True或False,設(shè)置餅圖的陰影,默認(rèn)為False,不設(shè)置陰影。
radius::設(shè)置餅圖的半徑,默認(rèn)為1。
startangle::起始繪制餅圖的角度,默認(rèn)為從x軸正方向逆時(shí)針畫起,如設(shè)定=90則從y軸正方向畫起。
counterclock:布爾值,設(shè)置指針方向,默認(rèn)為True,即逆時(shí)針,F(xiàn)alse為順時(shí)針。
wedgeprops:字典類型,默認(rèn)值None。參數(shù)字典傳遞給wedge對(duì)象用來畫一個(gè)餅圖。例如:wedgeprops={linewidth:5}設(shè)置wedge線寬為5。
textprops:字典類型,默認(rèn)值為:None。傳遞給text對(duì)象的字典參數(shù),用于設(shè)置標(biāo)簽(labels)和比例文字的格式。
center:浮點(diǎn)類型的列表,默認(rèn)值:(0,0)。用于設(shè)置圖標(biāo)中心位置。
frame:布爾類型,默認(rèn)值:False。如果是True,繪制帶有表的軸框架。
rotatelabels:布爾類型,默認(rèn)為False。如果為True,旋轉(zhuǎn)每個(gè)label到指定的角度。
plt.figure(figsize=(10,5))
sum_sale=np.sum(data["總銷售額"])
font={
"family":"kaiti"
,"size":"15"
plt.rc("font",**font)
fba_sale=np.sum(data["FBA銷售額"])
self_sale=np.sum(data["自配送銷售額"])
plt.pie([sum_sale,fba_sale,self_sale]
,labels=["總銷售額","FBA銷售額","自配送銷售額"]
,colors=["m","b","g"]#設(shè)置餅圖顏色
,shadow=True
#是否設(shè)置陰影
,labeldistance=1.2
#標(biāo)簽距圖表的距離
,autopct="%.2f%%"
##設(shè)置顯示數(shù)字樣式
,startangle=60
##旋轉(zhuǎn)角度
,explode=[0.1,0,0]
)
plt.title("統(tǒng)計(jì)",loc="center")#center中間
plt.show()
4)散點(diǎn)圖
散點(diǎn)圖是指在回歸分析中,數(shù)據(jù)點(diǎn)在直角坐標(biāo)系平面上的分布圖,散點(diǎn)圖表示因變量隨自變量而變化的大致趨勢(shì),據(jù)此可以選擇合適的函數(shù)對(duì)數(shù)據(jù)點(diǎn)進(jìn)行擬合。用兩組數(shù)據(jù)構(gòu)成多個(gè)坐標(biāo)點(diǎn),考察坐標(biāo)點(diǎn)的分布,判斷兩變量之間是否存在某種關(guān)聯(lián)或總結(jié)坐標(biāo)點(diǎn)的分布模式。散點(diǎn)圖將序列顯示為一組點(diǎn)。值由點(diǎn)在圖表中的位置表示。類別由圖表中的不同標(biāo)記表示。散點(diǎn)圖通常用于比較跨類別的聚合數(shù)據(jù)。
matplotlib.pyplot.scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None,vmax=None,alpha=None,linewidths=None,*,edgecolors=None,plotnonfinite=False,data=None,**kwargs)
參數(shù)說明:
x,y:長(zhǎng)度相同的數(shù)組,也就是我們即將繪制散點(diǎn)圖的數(shù)據(jù)點(diǎn),輸入數(shù)據(jù)。
s:點(diǎn)的大小,默認(rèn)20,也可以是個(gè)數(shù)組,數(shù)組每個(gè)參數(shù)為對(duì)應(yīng)點(diǎn)的大小。
c:點(diǎn)的顏色,默認(rèn)藍(lán)色b,也可以是個(gè)RGB或RGBA二維行數(shù)組。
marker:點(diǎn)的樣式,默認(rèn)小圓圈o。
cmap:Colormap,默認(rèn)None,標(biāo)量或者是一個(gè)colormap的名字,只有c是一個(gè)浮點(diǎn)數(shù)數(shù)組的時(shí)才使用。如果沒有申明就是image.cmap。
norm:Normalize,默認(rèn)None,數(shù)據(jù)亮度在0-1之間,只有c是一個(gè)浮點(diǎn)數(shù)的數(shù)組的時(shí)才使用。
vmin,vmax::亮度設(shè)置,在norm參數(shù)存在時(shí)會(huì)忽略。
alpha::透明度設(shè)置,0-1之間,默認(rèn)None,即不透明。
linewidths::標(biāo)記點(diǎn)的長(zhǎng)度。
edgecolors::顏色或顏色序列,默認(rèn)為face,可選值有face,none,None。
plotnonfinite::布爾值,設(shè)置是否使用非限定的c(inf,-inf或nan)繪制點(diǎn)。
**kwargs::其他參數(shù)。
plt.scatter(data["平均單個(gè)訂單成本"],data["訂單額"]
,color=("red","green","black","orange","purple","beige","cyan","magenta","cyan","magenta")#設(shè)置球的顏色
,s=data["訂單額"]#設(shè)置球的大小
,marker="h"#設(shè)置球的形狀
,linewidths=4#設(shè)置球邊界的寬度
,edgecolors='b'#設(shè)置邊界的顏色
,alpha=0.5#設(shè)置透明度
)#設(shè)置球的形狀
plt.xlabel("訂單成本")
plt.ylabel("訂單額")
plt.show()
5)直方圖
直方圖(Histogram),又稱質(zhì)量分布圖,是一種統(tǒng)計(jì)報(bào)告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況。一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況。
plt.figure(figsize=(20,5))
data1=data[data["數(shù)量"]20]
plt.hist(data1["數(shù)量"],
bins=data1.index.values[-1]#xz軸上展示多少
,align="mid"
,density=True#頻率頻數(shù)設(shè)置
)
plt.xlim(10)
plt.show()
6)箱型圖
箱形圖(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數(shù)據(jù)分散情況資料的統(tǒng)計(jì)圖。因形狀如箱子而得名。在各種領(lǐng)域也經(jīng)常被使用,常見于品質(zhì)管理。它主要用于反映原始數(shù)據(jù)分布的特征,還可以進(jìn)行多組數(shù)據(jù)分布特征的比較。箱線圖的繪制方法是:先找出一組數(shù)據(jù)的上邊緣、下邊緣、中位數(shù)和兩個(gè)四分位數(shù);然后,連接兩個(gè)四分位數(shù)畫出箱體;再將上邊緣和下邊緣與箱體相連接,中位數(shù)在箱體中間。
plt.boxplot(data[data["銷量"]3000]["銷量"])
plt.show()
橫線上邊的可以看做是異常值,也叫離群點(diǎn),橫線是上限值,依次往下是上4分位、中位數(shù)、下4分位數(shù)、下限
-上4分位數(shù)的意思是全部數(shù)據(jù)中有4分之一的數(shù)據(jù)比它大
-下4分位數(shù)的意思是全部數(shù)據(jù)中有4分之一的數(shù)據(jù)比它小
-中位數(shù)的意思就是位于中間的數(shù)據(jù)
-上4分位減去下4分位數(shù)代表著4分位的間距,那么異常值(離群點(diǎn))就是大于(上四分位+1.5*四分位間距)或小于(下4分位-1.5*四分位間距)的數(shù)字
-上限值就是等于(上4分位+1.5*四分位間距)的值
多個(gè)箱型圖繪制
dataa=[data[data["銷量"]2000]["銷量"],data[data["銷量"]3000]["銷量"]]
plt.boxplot(dataa
#dataa中包含多少元素就會(huì)繪制幾個(gè)箱型圖
,notch=True
#是否展示凹口
,sym="*"#設(shè)置異形點(diǎn)的形狀
,vert=False#箱型圖的擺放方式,True就是垂直,F(xiàn)alse就是橫著
,whis=2
#定義異常,默認(rèn)是1.5這個(gè)參數(shù)也就是上下四分位距離的倍數(shù)
,labels=["箱型圖a","箱型圖b"]#說明
,showmeans=True
#展示平均值
,meanline=True
#以線的形式來展示平均值,前提是showmeans=True
,showfliers=True
#是否顯示異常值
,meanprops=dict(markerfacecolor="r",marker="s")
,widths=0.5
)
plt.show()
7)子圖
我們可以使用pyplot中的subplot()和subplots()方法來繪制多個(gè)子圖。
subplot()方法在繪圖時(shí)需要指定位置,subplots()方法可以一次生成多個(gè),在調(diào)用時(shí)只需要調(diào)用生成對(duì)象的ax
subplots()方法語(yǔ)法格式如下:
matplotlib.pyplot.subplots(nrows=1,ncols=1,*,sharex=False,sharey=False,squeeze=True,subplot_kw=None,gridspec_kw=None,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車位代購(gòu)合同協(xié)議書
- 租賃合同代辦協(xié)議書
- 農(nóng)村拆遷合同協(xié)議書
- 聘金合同協(xié)議書范本
- 借錢合同協(xié)議書樣本
- 按揭房屋合同協(xié)議書
- 股東投資合同協(xié)議書
- 制造汽車合同協(xié)議書
- 搭伙合同 協(xié)議書范本
- 開車安全合同協(xié)議書
- 外國(guó)畫家作品介紹賞析
- 巖土工程勘察報(bào)告
- 中藥養(yǎng)護(hù)記錄表
- 哈弗H5汽車說明書
- 音樂鑒賞(西安交通大學(xué))知到章節(jié)答案智慧樹2023年
- 2023年成都市新都區(qū)九年級(jí)二診英語(yǔ)試題(含答案和音頻)
- 金屬與石材幕墻工程技術(shù)規(guī)范-JGJ133-2013含條文說
- 分包合法合規(guī)宣貫(2017年6月)
- GB 18613-2020電動(dòng)機(jī)能效限定值及能效等級(jí)
- 《行政組織學(xué)結(jié)課論文綜述3000字》
- 2023年浙江省高中數(shù)學(xué)學(xué)業(yè)水平考試知識(shí)條目精校版
評(píng)論
0/150
提交評(píng)論