matplotlib繪制函數圖,Python+matplotlib使用統計函數繪制簡單圖形
最佳答案 問答題庫1298位專家為你答疑解惑
關于【matplotlib繪制函數圖】,今天犇涌小編給您分享一下,如果對您有所幫助別忘了關注本站哦。
內容導航:1、matplotlib繪制函數圖:第二章:Python+matplotlib使用統計函數繪制簡單圖形2、matplotlib繪制函數圖,9種統計學圖形的matplotlib畫法1、matplotlib繪制函數圖:第二章:Python+matplotlib使用統計函數繪制簡單圖形
1、繪制條形圖
1 import matplotlib 2 import matplotlib.pyplot as plt 3 4 # 顯示中文標識 5 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 6 matplotlib.rcParams["axes.unicode_minus"] = False 7 8 # X/Y軸刻度 9 x = [1,2,3,4,5,6,7,8]10 y = [3,1,4,5,8,9,7,2]11 12 # ==============繪制條形圖=================13 plt.bar(x,14 y,15 align="center", # 排列方式16 color="c", # 填充顏色17 tick_label=["q","a","c","e","r","j","b","p"], # 將X軸上的刻度替換成指定編號18 hatch="/") # 圖形填充值,可取值為: / , , | , - , + , x , o , O , . , *19 20 # X/Y軸標簽21 plt.xlabel("箱子編號")22 plt.ylabel("箱子重量(kg)")23 24 plt.show()
2、繪制水平條形圖
1 import matplotlib 2 import matplotlib.pyplot as plt 3 4 # 顯示中文標識 5 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 6 matplotlib.rcParams["axes.unicode_minus"] = False 7 8 # X/Y軸刻度 9 x = [1,2,3,4,5,6,7,8]10 y = [3,1,4,5,8,9,7,2]11 12 # ==============繪制水平條形圖=================13 plt.barh(x,14 y,15 align="center", # 排列方式16 color="c", # 填充顏色17 tick_label=["q","a","c","e","r","j","b","p"], # 將X軸上的刻度替換成指定編號18 hatch="/") # 圖形填充值,可取值為: / , , | , - , + , x , o , O , . , *19 20 # X/Y軸標簽21 plt.xlabel("箱子重量(kg)")22 plt.ylabel("箱子編號")23 24 plt.show()
3、繪制直方圖
1 import matplotlib 2 import matplotlib.pyplot as plt 3 import numpy as np 4 5 # 顯示中文標識 6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 7 matplotlib.rcParams["axes.unicode_minus"] = False 8 9 # 隨機生成0,9的100個整數10 x = np.random.randint(0,10,100)11 bins = range(0,11,1)12 13 # ================繪制直方圖================14 plt.hist(x=x, # 分布數據15 bins=bins, # 指定共有幾個箱子,也就是有幾條條形圖16 color="g", # 條形圖顏色17 histtype="barstacked", # 條形圖類型,可選bar,barstacked,step,stepfilled,默認為bar18 align="mid", # 直方圖樣式,可選 left mid right19 rwidth=0.8, # 柱子與柱子之間的距離,默認是020 alpha=0.6) # 透明度21 # X/Y軸標簽22 plt.xlabel("箱子重量(kg)")23 plt.ylabel("銷售個數(個)")24 25 plt.show()
4、繪制餅圖
1 import matplotlib 2 import matplotlib.pyplot as plt 3 4 # 顯示中文標識 5 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 6 matplotlib.rcParams["axes.unicode_minus"] = False 7 8 # 數據類型 9 kinds = "簡易箱","保溫箱","行李箱","密封箱"10 11 # 每種數據的填充顏色12 colors = ["r","g","b","c"]13 14 # 每種數據的占比15 soldNums = [0.05,0.45,0.15,0.35]16 17 # ===================繪制餅圖====================18 plt.pie(x=soldNums, # 每種數據的占比19 labels=kinds, # 餅圖外側顯示的說明文字20 autopct="%3.1f%%", # 控制餅圖內百分比設置,'%1.1f'指小數點前后位數(沒有用空格補齊)21 startangle=60, # 起始繪制角度,默認圖是從x軸正方向逆時針畫起,如設定=90則從y軸正方向畫起22 colors=colors) # 每快餅的填充顏色23 24 # 標題25 plt.title("不同箱子的銷售占比")26 plt.show()
5、在極坐標軸上繪制折線圖
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 # 從0到2pi取12個數.endpoint:如果為False則最后一個數不為2pi,如果為True則最后一個數為2pi 5 theta = np.linspace(start=0.0,stop=2*np.pi,num=12,endpoint=False) 6 7 # 創建一個給定類型(12個)的數組,將其填充在一個均勻分布的隨機樣本[0, 1)中 8 r = 30*np.random.rand(12) 9 10 # ===============在極坐標軸上繪制折線圖=================11 plt.polar(theta, # 每個標記所在的射線與極徑的夾角12 r, # 每個標記到原點的距離13 color="chartreuse", # 顏色14 linewidth=2, # 線寬15 marker="*", # 標志點16 mfc="b", # 數據點的顏色17 ms=10) # 標志點大小18 plt.show()
6、繪制氣泡圖
1 import matplotlib.pyplot as plt 2 from matplotlib import cm 3 import numpy as np 4 5 # 生成指定維度(100維度)的服從標準正態分布的隨機數 6 a = np.random.randn(100) 7 b = np.random.randn(100) 8 9 # ==================繪制氣泡圖===================10 plt.scatter(x=a, # x軸上的數值11 y=b, # y軸上的數值12 s=np.power(10*a+20*b,2),# 散點標記的大小((數組a*10+數組b*20)的平方)13 c=np.random.rand(100), # 散點標記的顏色14 cmap=cm.RdYlBu, # 將浮點數映射成顏色的顏色映射率15 marker="o") # 標記點(氣泡)16 plt.show()
7、繪制棉棒圖
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 # 從0到2pi取20個數 5 x = np.linspace(0.5,2*np.pi,20) 6 7 # 生成指定維度(20維度)的服從標準正態分布的隨機數 8 y = np.random.randn(20) 9 10 # ====================繪制棉棒圖=================11 plt.stem(x, # 指定棉棒的x軸基線上的位置12 y, # 繪制棉棒的長度13 linefmt="-", # 棉棒的樣式14 markerfmt="o", # 棉棒末端的樣式15 basefmt="-") # 指定基線的樣式16 plt.show()
8、繪制箱線圖
1 import matplotlib 2 import matplotlib.pyplot as plt 3 import numpy as np 4 5 # 顯示中文標識 6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 7 matplotlib.rcParams["axes.unicode_minus"] = False 8 9 # 生成指定維度(1000維度)的服從標準正態分布的隨機數10 x = np.random.randn(1000)11 12 # ===================繪制箱線圖=====================13 plt.boxplot(x)14 15 plt.xticks([1],["隨機數生成器AlphaRM"])16 17 # y軸上的標簽18 plt.ylabel("隨機數值")19 20 # 標題21 plt.title("隨機數生成器抗干擾能力的穩定性")22 23 # 繪制網格線24 plt.grid(axis="y", # 在y軸上繪制網格線25 ls=":", # 網格線樣式26 color="gray", # 網格線顏色27 alpha=0.4) # 網格線透明度28 plt.show()
9、繪制誤差棒圖
2、matplotlib繪制函數圖,9種統計學圖形的matplotlib畫法
大家好,我是小雨。
上一講,我們給大家介紹了matplotlib的快速上手教程,介紹了常用的線性圖形與散點圖的畫法。
今天我們繼續升級!給大家講解一些常用的統計學圖形畫法,學會正確使用matplotlib進行繪制。我們將從函數功能、實例代碼、參數講解、效果演示四個層面來講解每一種統計圖。希望大家能對python數據可視化有一個直觀的認識!
一、bar()函數1.函數功能繪制柱狀圖
2. 實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltx=[1,2,3,4,5,6,7,8]y=[3,4,5,2,9,5,1,4]mpl.rcParams['font.sans-serif']=['SimHei']#設置字體為黑體,為了顯示中文plt.bar(x,y,align='center',color='c',tick_label=['a','-2','c','d','e','f','g','h'],hatch='/')plt.xlabel('編號')plt.ylabel('滿意度')plt.show()
參數說明: 繪制柱狀圖plt.bar(x,y,tick_label,hatch)
x:類別y:數值tick_label:類別標識名color:柱狀圖的顏色hatch:表示刻度陰影類型主要有這些類型:/、*、.、|、-、 、x、o、Omatplotlib坐標軸若顯示中文,需要修改默認屬性,rcParams將字體改為中文字體。這里的sans-serif表示非襯線字體將其值設為SimHei(中文黑體)。
3. 效果演示繪制條形圖
2. 實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltx=[1,2,3,4,5,6,7,8]y=[2,3,4,9,1,2,6,4]mpl.rcParams['font.sans-serif']=['SimHei']plt.barh(x,y,tick_label=['a','b','c','d','e','f','g','h'],color='m')plt.xlabel('評分')plt.ylabel('編號')plt.show()
參數說明: 繪制條形圖plt.barh(x,y)
x:在y軸上顯示的類別y:各個類別的數量值3. 效果演示繪制直方圖
2. 實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltimportnumpyasnpmpl.rcParams['font.sans-serif']=['SimHei']x=np.random.randint(0,100,100)#生成范圍在【0~100】之間100個數據bins=np.arange(0,101,10)#生成數組[01020...100],里面是間隔為10的十個數plt.hist(x,bins,color='g',alpha=0.5)plt.xlabel('分數段')plt.ylabel('人數')plt.title("各分數段人數分布")plt.show()
參數說明: 繪制直方圖plt.hist(x,bins,color,alpha)
x:數據集,直方圖會對該數據集的大小按區間進行歸類bins:數據集的分隔區間color:直方圖的顏色alpha:直方圖顏色的透明度直方圖與柱形圖相似但不同,直方圖表示的是離散型數值的區間分布情況;更多關于直方圖hist的教程請參考官方文檔。
range與arange的區別: arange函數返回的是numpy里定義的數組,數組每一個元素的數據類型一致。range在Python2與Python3里有著不同的功能。Python2里的range返回的是列表,而Python3里的range返回的是可迭代的對象,通常使用for循環將其輸出。
3. 效果演示繪制餅圖,顯示不同類別所占百分比。
2. 實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltimportnumpyasnpmpl.rcParams['font.sans-serif']=['SimHei']labels=['房貸','育兒','飲食','交通','娛樂','其它']sizes=[5,1,2,0.5,0.8,1.5]explode=(0.1,0,0,0,0,0)plt.pie(x=sizes,explode=explode,labels=labels,autopct='%1.1f%%',startangle=150)plt.title("餅圖-6月家庭支出情況")plt.show()
參數說明: 繪制餅圖plt.pie(x,explode,labels,autopct,startangle)
x:每一塊的比例,如果sum(x)>1,會對sum(x)進行歸一化操作。explode:每一塊離開中心的距離labels:每一塊外側顯示的標簽文字autopct:控制餅圖百分比設置,可以使用format字符串表示,%1.1f%%小數點前后各一位(沒有用空格補齊)startangle:起始繪制角度,默認從x軸正方向逆時針畫起,若設定90度則從y軸正方向畫起。3. 效果演示用于繪制氣泡圖,二維數據借助氣泡大小展示三維數據。
2. 實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltimportnumpyasnpmpl.rcParams['font.sans-serif']=['SimHei']#顯示中文mpl.rcParams['axes.unicode_minus']=False#為了坐標軸負號正常顯示a=np.random.randn(100)b=np.random.randn(100)plt.style.use('ggplot')#設置繪圖風格plt.scatter(a,b,c=np.random.rand(100),cmap='jet',s=100*(a**2 b**2),alpha=0.7)plt.colorbar()#用于顯示顏色柱plt.title('氣泡圖')plt.show()
參數說明: 繪制氣泡圖:plt.scatter(a,b,c,s,cmap)
a:x軸上的離散數值,固定長度的數組。b:y軸上的離散數值,固定長度的數組。c:氣泡的顏色,可以是固定顏色也可以是一個數組。s:氣泡的大小,用于記錄第三維度的函數關系。cmap:顏色映射表,可以簡單理解成配色方案。matplotlib默認不支持中文,設置中文字體后,負號會顯示異常。需要手動將坐標軸負號設為False才能正常顯示負號。
3. 效果演示繪制雷達圖(極線圖)
2. 實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltimportnumpyasnpmpl.rcParams['font.sans-serif']=['SimHei']plt.style.use('ggplot')#設置繪圖風格theta=np.array([0.25,0.75,1,1.5,0.25])#定義各個點的極角r=[20,60,40,60,20]#定義各個點極徑的長度plt.polar(theta*np.pi,r,'r-',lw=1)#設置雷達圖路徑,r-表示紅色實線plt.fill(theta*np.pi,r,c='c',alpha=0.4)#填充雷達圖,課設置顏色與透明度plt.ylim(0,100)#設置極坐標軸的范圍plt.title('雷達圖')plt.show()
參數說明: 繪制雷達圖plt.polar(theta,r,marker)
theta:在極坐標系下坐標點的角度r:在極坐標系下坐標點與極點的距離marker:定義各個點的樣式3. 效果演示用于繪制棉棒圖
2.實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltimportnumpyasnpmpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=Falsex=np.linspace(0.5,2*np.pi,20)y=np.random.randn(20)plt.stem(x,y,linefmt='-.',markerfmt='o',basefmt='-')plt.title('棉棒圖')plt.show()
參數說明 繪制棉棒圖plt.stem(x,y,linefmt,markerfmt,basefmt)
x:指定x軸的位置y:設置棉棒的長度linefmt:棉棒的樣式markerfmt:棉棒末端的樣式basefmt:棉棒基線的樣式3.效果演示用于繪制箱線圖
2.實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltimportnumpyasnpmpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=Falsex1=np.random.randn(100)x2=np.random.randn(100)x3=np.random.randn(100)labels=['第一','第二','第三']plt.boxplot([x1,x2,x3],labels=labels)plt.grid(axis='y',ls=':',lw=1,c='g',alpha=0.4)plt.title('箱線圖')plt.show()
參數說明: 繪制箱線圖plt.boxplot(x,labels)
x:輸入的數據label:圖例3.效果演示用于繪制誤差棒圖
2.實例代碼importmatplotlibasmplimportmatplotlib.pyplotaspltimportnumpyasnpmpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=Falsex=np.linspace(0.1,0.6,6)y=np.exp(x)plt.errorbar(x,y,fmt='o:',yerr=0.2,xerr=0.02,ecolor='g',mfc='c',mec='r',capthick=2,capsize=3)plt.xlim(0,0.7)plt.title('誤差棒圖')plt.show()
參數說明 繪制誤差棒圖plt.errorbar(x,y,fmt,yerr,xerr,ecolor,mfc,mec,capthick,capsize)
x:數據點的水平位置y:數據點的垂直位置fmt:數據點的標記樣式和數據點標記的連接線樣式xerr:x軸方向數據點的誤差計算方法yerr:y軸方向數據誤差點的計算方法ecolor:誤差棒的顏色mfc:數據點的標記顏色mec:數據點標記邊緣顏色capthick:誤差棒邊界橫杠的厚度capsize:誤差棒邊界橫杠的大小3.效果演示十、最后
本文關鍵詞:matplotlib繪制函數圖像,用matplotlib繪制函數曲線,matplotlib繪制函數圖像嵌套在網頁里面,matplotlib繪制曲線圖,matplotlib繪圖入門詳解簡書。這就是關于《matplotlib繪制函數圖,Python+matplotlib使用統計函數繪制簡單圖形》的所有內容,希望對您能有所幫助!更多的知識請繼續關注《犇涌向乾》百科知識網站:!
99%的人還看了
相似問題
猜你感興趣
版權申明
本文" matplotlib繪制函數圖,Python+matplotlib使用統計函數繪制簡單圖形":http://eshow365.cn/3-3903-0.html 內容來自互聯網,請自行判斷內容的正確性。如有侵權請聯系我們,立即刪除!