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,默認為bar 18 align="mid", # 直方圖樣式,可選 left mid right 19 rwidth=0.8, # 柱子與柱子之間的距離,默認是0 20 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、繪制誤差棒圖
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 # 從0.1到0.6區6個值 5 x = np.linspace(0.1,0.6,6) 6 7 # 指數函數 8 y = np.exp(x) 9 10 # ===================繪制誤差棒圖================== 11 plt.errorbar(x=x, # 數據點的水平位置 12 y=y, # 數據點的垂直位置 13 fmt="bo:", # 數據點的標記樣式以及相互之間連接線樣式 14 yerr=0.2, # y軸方向的數據點的誤差計算方法 15 xerr=0.02, # x軸方向的數據點的誤差計算方法 16 ecolor="r", # 誤差棒的顏色 17 elinewidth=2, # 誤差棒線條的粗細大小 18 capsize=10, # 誤差棒邊界橫杠的大小 19 capthick=4, # 誤差棒邊界橫杠的厚度 20 ms=10, # 數據點的大小 21 mfc="g", # 數據點的顏色 22 mec="m") # 數據點邊緣的顏色 23 # x軸上的刻度 24 plt.xlim(0,0.7) 25 plt.show()