一、介紹
官方文檔:https://www.matplotlib.org.cn/home.html
安裝:pip install matplotlib
Matplotlib是一個Python 2D繪圖庫,可以生成各種硬拷貝格式和跨平台交互式環境的出版物質量數據。Matplotlib可用於Python腳本,Python和IPython shell,Jupyter筆記本,Web應用程序服務器和四個圖形用戶界面工具包。
二、使用例子
1、波形圖
import matplotlib.pyplot as plt import numpy as np x=np.linspace(0,2*np.pi,100) #100個點組成的2*np.pi線 y1=np.sin(x) #y1線 y2=np.cos(x) #y2線 plt.title("sin&cos title") #標題 plt.xlabel("x") #x軸的名稱 plt.ylabel("y") #y軸的名稱 plt.plot(x,y1) #畫y1線 plt.plot(x,y2) #畫y2線 plt.show() #顯示
圖片
2、柱狀圖
import matplotlib.pyplot as plt name_list = ["A","B","C","D"] #x軸柱狀圖的名字 num_list=[10,8,5,6.1] #y軸的值(如A=10,B=8,以此類推) plt.bar(range(0,len(name_list)),num_list,color = "rgby",tick_label = name_list) #畫圖range(0,len(name_list))代表4個柱狀圖,color = "rgby"會循環這個規律的顏色 plt.show() #顯示
3、堆疊柱狀圖
import matplotlib.pyplot as plt name_list = ["A","B","C","D"] num_list=[10,8,5,6.1] num_list1=[5,7,3,8] plt.bar(range(0,len(name_list)),num_list,color = "r",tick_label = name_list) plt.bar(range(0,len(name_list)),num_list1,color = "g",tick_label = name_list) plt.legend() plt.show()
4、餅狀圖
import matplotlib.pyplot as plt label = ["A","B","C","D"] num = [12,30,50,8] ex=[0.1,0,0.1,0] #比重,重點的會分出來,例如A,C plt.axis(aspet=1) #1等分 plt.pie(x=num,autopct='%.2f%%',explode=ex,labels=label,colors="rgby",shadow=True,startangle=30) #startangle傾斜角度,shadow表示立體感(陰影) plt.show()
5、實時畫圖
import matplotlib.pyplot as plt ax=[] #定義空列表 ay=[] plt.ion() #打開實時畫圖窗口 for i in range(100): #畫的次數 ax.append(i) ay.append(i**2) plt.clf() #清除上一次的圖 plt.plot(ax,ay) #畫圖 plt.pause(0.1) #時間間隔(類似sleep) plt.ioff() #關閉實時畫圖
6、三維畫點
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np import random x=np.random.normal(0,1,100) #生成0-1之間的100個x坐標 y=np.random.normal(0,1,100) z=np.random.normal(0,1,100) fig = plt.figure() ax = Axes3D(fig) #打開3d窗口 ax.scatter(x,y,z) #畫3d圖 plt.show()
7、erwe散點圖
import matplotlib.pyplot as plt import numpy as np import random n=1000 #1000個點 x=np.random.randn(n) #生成1000個x軸坐標 y=np.random.randn(n) plt.scatter(x,y) #畫圖 plt.show()