欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

?python用matplotlib可視化繪圖詳解

 更新時間:2022年01月26日 09:01:22   作者:?你隔壁的小王???  
這篇文章主要介紹了?python用matplotlib可視化繪圖詳解,Matplotlib?是一個python的?2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質量級別的圖形,下面我們就來看看關于matplotlib可視化繪圖的詳細過程吧

1、Matplotlib 簡介

Matplotlib 簡介:

  • Matplotlib 是一個python的 2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質量級別的圖形,matplotlib 對于圖像美化方面比較完善,可以自定義線條的顏色和樣式,可以在一張繪圖紙上繪制多張小圖,也可以在一張圖上繪制多條線,可以很方便地將數據可視化并對比分析。
  • 同Excel繪制相關圖標相比,使用Matplotlib繪制自由度更高,并且能解決excel無法繪制數據量較大、維度較多的圖表問題。

如何使用Matplotlib:

python 環(huán)境下 :

pip install matplotlib

jupyter notebook 中:

!pip install matplotlib

(強烈建議安裝anaconda,一些常用的包就不用在單獨安裝了)安裝了anaconda了,直接導包就行  

import matplotlib.pyplot as plt #plt是別名

Matplotlib繪制圖形:

折線圖plot
柱狀圖bar
條形圖barh
餅圖pie
散點圖scatter
直方圖hist
箱形圖boxplot
子圖subplot

2、Matplotlib圖形繪制

1)折線圖

折線圖(line chart)是一種將數據點按照順序連接起來的圖形,折線圖是排列在工作表的列或行中的數據可以繪制到折線圖中,折線圖可以顯示隨時間(根據常用比例設置)而變化的連續(xù)數據,因此非常適用于顯示在相等時間間隔下數據的趨勢。

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="*",linestyle='-.')
plt.plot(data["日期"],data["FBA銷售額"],color='g',linewidth=0.5,marker="2",linestyle='-')
plt.plot(data["日期"],data["自配送銷售額"],color='y',linewidth=0.5,marker="s",linestyle='--')
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
微軟雅黑Microsoft YaHei
新宋體NSimSun
仿宋_GB2312FangSong_GB2312
楷體_GB2312KaiTi_GB2312

常用線型:

實線'-'
點虛線':'
破折線'--'
點劃線'-.'
不畫線'' 或 ' '

用標記:

"."
上三角"^"
上三叉"2"
正方形"s"
星號"*"
菱形"D"
渲染指定的字符。例如 "$f$" 以字母 f 為標記。'$...$'

2)柱狀圖

柱形圖,又稱長條圖、柱狀統計圖(德文: Säulendiagramm、英文:bar chart、西班牙文: diagrama de barras)亦稱條圖、條狀圖、棒形圖,是一種以長方形的長度為變量的統計圖表。長條圖用來比較兩個或以上的價值(不同時間或者不同條件),只有一個變量,通常利用于較小的數據集分析。長條圖亦可橫向排列,或用多維方式表達。

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)條形圖

條形圖(bar chart)是用寬度相同的條形的高度或長短來表示數據多少的圖形。條形圖可以橫置或縱置,縱置時也稱為柱形圖(column chart)。此外,條形圖有簡單條形圖、復式條形圖等形式。

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, **fig_kw)

rows:默認為 1,設置圖表的行數。
ncols:默認為 1,設置圖表的列數。
sharex、sharey:設置 x、y 軸是否共享屬性,默認為 false,可設置為 'none'、'all'、'row' 或 'col'。 False 或 none 每個子圖的 x 軸或 y 軸都是獨立的,True 或 'all':所有子圖共享 x 軸或 y 軸,'row' 設置每個子圖行共享一個 x 軸或 y 軸,'col':設置每個子圖列共享一個 x 軸或 y 軸。
squeeze:布爾值,默認為 True,表示額外的維度從返回的 Axes(軸)對象中擠出,對于 N*1 或 1*N 個子圖,返回一個 1 維數組,對于 N*M,N>1 和 M>1 返回一個 2 維數組。如果設置為 False,則不進行擠壓操作,返回一個元素為 Axes 實例的2維數組,即使它最終是1x1。
subplot_kw:可選,字典類型。把字典的關鍵字傳遞給 add_subplot() 來創(chuàng)建每個子圖。
gridspec_kw:可選,字典類型。把字典的關鍵字傳遞給 GridSpec 構造函數創(chuàng)建子圖放在網格里(grid)。
**fig_kw:把詳細的關鍵字參數傳給 figure() 函數。

plt.figure(figsize=(10,5))#設置畫布大小
x=np.arange(1,200)
plt.subplot(221)#在第一個位置畫折線圖
plt.plot(x,x+x)
plt.subplot(222)#第二個位置繪制散點圖
plt.scatter(np.arange(0,20),np.random.rand(20))
plt.subplot(223)#第三個位置繪制餅圖
plt.pie(x=[1,2,3,4],labels=['a','b','c','d'])
plt.subplot(224)#第四個位置繪制柱狀圖
plt.bar(x=[1,2,3,4],height=[2,3,6,5])
plt.show()

到此這篇關于 python用matplotlib可視化繪圖詳解的文章就介紹到這了,更多相關matplotlib可視化繪圖詳解內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Django入門優(yōu)缺點及環(huán)境搭建流程

    Django入門優(yōu)缺點及環(huán)境搭建流程

    這篇文章主要為大家介紹了Django入門優(yōu)缺點及環(huán)境搭建流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 使用Python的Zato發(fā)送AMQP消息的教程

    使用Python的Zato發(fā)送AMQP消息的教程

    這篇文章主要介紹了使用Python的Zato發(fā)送AMQP消息的教程,主要是基于一些Zato的圖形化界面進行操作,需要的朋友可以參考下
    2015-04-04
  • minpy使用GPU加速Numpy科學計算方式

    minpy使用GPU加速Numpy科學計算方式

    這篇文章主要介紹了minpy使用GPU加速Numpy科學計算方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python 爬取壁紙網站的示例

    python 爬取壁紙網站的示例

    這篇文章主要介紹了python 爬取壁紙網站的示例,幫助大家更好的理解和學習使用python爬蟲,感興趣的朋友可以了解下
    2021-03-03
  • python中各種路徑設置的方法詳解

    python中各種路徑設置的方法詳解

    python程序想要在一個設備上去運行除了需要安裝python解釋器和相關依賴項之外,還需要將對應的文件路徑添加到環(huán)境變量path中才可以,下面這篇文章主要給大家介紹了關于python中各種路徑設置的相關資料,需要的朋友可以參考下
    2022-12-12
  • Python?format字符串格式化函數的使用

    Python?format字符串格式化函數的使用

    本文主要介紹了Python?format字符串格式化函數的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Pytest?fixture及conftest相關詳解

    Pytest?fixture及conftest相關詳解

    這篇文章主要介紹了Pytest?fixture及conftest相關詳解,fixture是在測試函數運行前后,由pytest執(zhí)行的外殼函數,更多相關內容需要的朋友可以參考一下
    2022-09-09
  • python內置函數之slice案例詳解

    python內置函數之slice案例詳解

    這篇文章主要介紹了python內置函數之slice案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09
  • 基于pandas數據樣本行列選取的方法

    基于pandas數據樣本行列選取的方法

    下面小編就為大家分享一篇基于pandas數據樣本行列選取的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python之tkinter面板PanedWindow的使用

    Python之tkinter面板PanedWindow的使用

    這篇文章主要介紹了Python之tkinter面板PanedWindow的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評論