




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第python用matplotlib可視化繪圖詳解目錄1、Matplotlib簡介2、Matplotlib圖形繪制1)折線圖2)柱狀圖3)條形圖3)餅圖4)散點圖5)直方圖6)箱型圖7)子圖
1、Matplotlib簡介
Matplotlib簡介:
Matplotlib是一個python的2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環境生成出版質量級別的圖形,matplotlib對于圖像美化方面比較完善,可以自定義線條的顏色和樣式,可以在一張繪圖紙上繪制多張小圖,也可以在一張圖上繪制多條線,可以很方便地將數據可視化并對比分析。同Excel繪制相關圖標相比,使用Matplotlib繪制自由度更高,并且能解決excel無法繪制數據量較大、維度較多的圖表問題。
如何使用Matplotlib:
python環境下:
pipinstallmatplotlib
jupyternotebook中:
!pipinstallmatplotlib
(強烈建議安裝anaconda,一些常用的包就不用在單獨安裝了)安裝了anaconda了,直接導包就行
importmatplotlib.pyplotasplt#plt是別名
Matplotlib繪制圖形:
折線圖plot柱狀圖bar條形圖barh餅圖pie散點圖scatter直方圖hist箱形圖boxplot子圖subplot
2、Matplotlib圖形繪制
1)折線圖
折線圖(linechart)是一種將數據點按照順序連接起來的圖形,折線圖是排列在工作表的列或行中的數據可以繪制到折線圖中,折線圖可以顯示隨時間(根據常用比例設置)而變化的連續數據,因此非常適用于顯示在相等時間間隔下數據的趨勢。
plt.figure(figsize=(10,6))#調整畫布大小
plt.plot(data["日期"],data["自配送銷售額"],color='y')#通過color調整顏色
plt.xticks(rotation=45)#x軸傾斜的角度
plt.show()
其中顏色可以設置成很多,下表為部分:
r紅色g綠色b藍色c青色m品紅y黃色k黑色w白色淺粉紅#FFB6C1猩紅#DC143C
最底下為rgb顏色值,可以查看RGB顏色值與十六進制顏色碼轉換工具里邊比較詳細
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)#旋轉x軸標注
font={
"family":"kaiti",
#
設置字體的樣式
"size":"20"
#
設置字體的大小
plt.rc("font",**font)
#設置X軸標簽
plt.xlabel("時間")
#設置y軸標簽
plt.ylabel("數額")
plt.show()
#linewidth是設置線的寬度
#marker是設置線的拐點標記樣式
常用字體名稱:
楷體kaiti黑體SimHei微軟雅黑MicrosoftYaHei新宋體NSimSun仿宋_GB2312FangSong_GB2312楷體_GB2312KaiTi_GB2312
常用線型:
實線-點虛線:破折線--點劃線-.不畫線或
用標記:
點.上三角^上三叉2正方形s星號*菱形D渲染指定的字符。例如$f$以字母f為標記。$...$
2)柱狀圖
柱形圖,又稱長條圖、柱狀統計圖(德文:Sulendiagramm、英文:barchart、西班牙文:diagramadebarras)亦稱條圖、條狀圖、棒形圖,是一種以長方形的長度為變量的統計圖表。長條圖用來比較兩個或以上的價值(不同時間或者不同條件),只有一個變量,通常利用于較小的數據集分析。長條圖亦可橫向排列,或用多維方式表達。
matplotlib.pyplot.bar(x,height,width=0.8,bottom=None,*,align='center',data=None,**kwargs)
參數說明:
x:浮點型數組,柱形圖的x軸數據。height:浮點型數組,柱形圖的高度。width:浮點型數組,柱形圖的寬度。bottom:浮點型數組,底座的y坐標,默認0。align:柱形圖與x坐標的對齊方式,center以x位置為中心,這是默認值。edge:將柱形圖的左邊緣與x位置對齊。要對齊右邊緣的條形,可以傳遞負數的寬度值及align=edge。
**kwargs::其他參數。
plt.figure(figsize=(10,5))
plt.bar(data["排序"],data["銷量"])
##調整畫布外框顏色上: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")
##調整x、y軸刻度
plt.xlim(data.index.values[0],data.index.values[-1])#x軸從0開始到最后一個0第一個-1最后一個
plt.ylim(np.min(data["銷量"]),np.max(data["銷量"]))
#最小到最大
plt.show()
3)條形圖
條形圖(barchart)是用寬度相同的條形的高度或長短來表示數據多少的圖形。條形圖可以橫置或縱置,縱置時也稱為柱形圖(columnchart)。此外,條形圖有簡單條形圖、復式條形圖等形式。
plt.figure(figsize=(10,5))
plt.barh(data["排序"],data["銷量"])
##調整畫布外框顏色上: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")
##調整x、y軸刻度
plt.xlim(np.min(data["銷量"]),np.max(data["銷量"]))
#x軸從0開始到最后一個0第一個-1最后一個
plt.ylim(data.index.values[0],data.index.values[-1])#最小到最大
plt.show()
條形圖就是把柱狀圖放倒,調整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]
參數說明:
x:浮點型數組,表示每個扇形的面積。
explode:數組,表示各個扇形之間的間隔,默認值為0。
labels:列表,各個扇形的標簽,默認值為None。
colors:數組,表示各個扇形的顏色,默認值為None。
autopct:設置餅圖內各個扇形百分比顯示格式,%d%%整數百分比,%0.1f一位小數,%0.1f%%一位小數百分比,%0.2f%%兩位小數百分比。
labeldistance:標簽標記的繪制位置,相對于半徑的比例,默認值為1.1,如1則繪制在餅圖內側。
pctdistance::類似于labeldistance,指定autopct的位置刻度,默認值為0.6。
shadow::布爾值True或False,設置餅圖的陰影,默認為False,不設置陰影。
radius::設置餅圖的半徑,默認為1。
startangle::起始繪制餅圖的角度,默認為從x軸正方向逆時針畫起,如設定=90則從y軸正方向畫起。
counterclock:布爾值,設置指針方向,默認為True,即逆時針,False為順時針。
wedgeprops:字典類型,默認值None。參數字典傳遞給wedge對象用來畫一個餅圖。例如:wedgeprops={linewidth:5}設置wedge線寬為5。
textprops:字典類型,默認值為:None。傳遞給text對象的字典參數,用于設置標簽(labels)和比例文字的格式。
center:浮點類型的列表,默認值:(0,0)。用于設置圖標中心位置。
frame:布爾類型,默認值:False。如果是True,繪制帶有表的軸框架。
rotatelabels:布爾類型,默認為False。如果為True,旋轉每個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"]#設置餅圖顏色
,shadow=True
#是否設置陰影
,labeldistance=1.2
#標簽距圖表的距離
,autopct="%.2f%%"
##設置顯示數字樣式
,startangle=60
##旋轉角度
,explode=[0.1,0,0]
)
plt.title("統計",loc="center")#center中間
plt.show()
4)散點圖
散點圖是指在回歸分析中,數據點在直角坐標系平面上的分布圖,散點圖表示因變量隨自變量而變化的大致趨勢,據此可以選擇合適的函數對數據點進行擬合。用兩組數據構成多個坐標點,考察坐標點的分布,判斷兩變量之間是否存在某種關聯或總結坐標點的分布模式。散點圖將序列顯示為一組點。值由點在圖表中的位置表示。類別由圖表中的不同標記表示。散點圖通常用于比較跨類別的聚合數據。
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)
參數說明:
x,y:長度相同的數組,也就是我們即將繪制散點圖的數據點,輸入數據。
s:點的大小,默認20,也可以是個數組,數組每個參數為對應點的大小。
c:點的顏色,默認藍色b,也可以是個RGB或RGBA二維行數組。
marker:點的樣式,默認小圓圈o。
cmap:Colormap,默認None,標量或者是一個colormap的名字,只有c是一個浮點數數組的時才使用。如果沒有申明就是image.cmap。
norm:Normalize,默認None,數據亮度在0-1之間,只有c是一個浮點數的數組的時才使用。
vmin,vmax::亮度設置,在norm參數存在時會忽略。
alpha::透明度設置,0-1之間,默認None,即不透明。
linewidths::標記點的長度。
edgecolors::顏色或顏色序列,默認為face,可選值有face,none,None。
plotnonfinite::布爾值,設置是否使用非限定的c(inf,-inf或nan)繪制點。
**kwargs::其他參數。
plt.scatter(data["平均單個訂單成本"],data["訂單額"]
,color=("red","green","black","orange","purple","beige","cyan","magenta","cyan","magenta")#設置球的顏色
,s=data["訂單額"]#設置球的大小
,marker="h"#設置球的形狀
,linewidths=4#設置球邊界的寬度
,edgecolors='b'#設置邊界的顏色
,alpha=0.5#設置透明度
)#設置球的形狀
plt.xlabel("訂單成本")
plt.ylabel("訂單額")
plt.show()
5)直方圖
直方圖(Histogram),又稱質量分布圖,是一種統計報告圖,由一系列高度不等的縱向條紋或線段表示數據分布的情況。一般用橫軸表示數據類型,縱軸表示分布情況。
plt.figure(figsize=(20,5))
data1=data[data["數量"]20]
plt.hist(data1["數量"],
bins=data1.index.values[-1]#xz軸上展示多少
,align="mid"
,density=True#頻率頻數設置
)
plt.xlim(10)
plt.show()
6)箱型圖
箱形圖(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數據分散情況資料的統計圖。因形狀如箱子而得名。在各種領域也經常被使用,常見于品質管理。它主要用于反映原始數據分布的特征,還可以進行多組數據分布特征的比較。箱線圖的繪制方法是:先找出一組數據的上邊緣、下邊緣、中位數和兩個四分位數;然后,連接兩個四分位數畫出箱體;再將上邊緣和下邊緣與箱體相連接,中位數在箱體中間。
plt.boxplot(data[data["銷量"]3000]["銷量"])
plt.show()
橫線上邊的可以看做是異常值,也叫離群點,橫線是上限值,依次往下是上4分位、中位數、下4分位數、下限
-上4分位數的意思是全部數據中有4分之一的數據比它大
-下4分位數的意思是全部數據中有4分之一的數據比它小
-中位數的意思就是位于中間的數據
-上4分位減去下4分位數代表著4分位的間距,那么異常值(離群點)就是大于(上四分位+1.5*四分位間距)或小于(下4分位-1.5*四分位間距)的數字
-上限值就是等于(上4分位+1.5*四分位間距)的值
多個箱型圖繪制
dataa=[data[data["銷量"]2000]["銷量"],data[data["銷量"]3000]["銷量"]]
plt.boxplot(dataa
#dataa中包含多少元素就會繪制幾個箱型圖
,notch=True
#是否展示凹口
,sym="*"#設置異形點的形狀
,vert=False#箱型圖的擺放方式,True就是垂直,False就是橫著
,whis=2
#定義異常,默認是1.5這個參數也就是上下四分位距離的倍數
,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()方法來繪制多個子圖。
subplot()方法在繪圖時需要指定位置,subplots()方法可以一次生成多個,在調用時只需要調用生成對象的ax
subplots()方法語法格式如下:
matplotlib.pyplot.subplots(nrows=1,ncols=1,*,sharex=False,sharey=False,squeeze=True,subplot_kw=None,gridspec_kw=None,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《數理統計》第7章 估計量的評選標
- 小蝌蚪找媽兒童畫課件
- 《質量管理基礎概念課件》
- 貨車檢車員中級工試題+答案(附解析)
- 《x管理策略》課件
- 《萃取工藝相平衡》課件
- 《校園防火安全教育教學課件》
- 初中心理健康教育課程設計
- 茶葉店員工服務技能與禮儀測試考核試卷
- 茶葉店經營分析與決策支持考核試卷
- 不良資產項目律師法律盡調報告(模板)
- 高中化學優質課說課 海水資源的開發利用
- 全鋼子午線輪胎一次法成型機課件
- 產品借用申請表
- 有限空間作業大比武實操比賽評分細則
- 人教部編版六年級下冊語文【選擇題】專項復習訓練真題100題(附答案解析)
- 巖土工程勘察報告
- 中藥養護記錄表
- 《融媒體實務》教學課件(全)
- 中小企業的網絡組建局域網的組建網絡的組建與規劃網絡結構拓撲圖
- 2023年天津市南開醫院護士招聘考試歷年高頻考點試題含答案
評論
0/150
提交評論