餅圖
import matplotlib.pyplot as plt labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' sizes = [15, 30, 45, 10] # 設置分離的距離,0表示不分離 explode = (0, 0.1, 0, 0) plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90) # Equal aspect ratio 保證畫出的圖是正圓形 plt.axis('equal') plt.show()
三維圖
繪制三維散點圖
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D data = np.random.randint(0, 255, size=[30, 30, 30]) x, y, z = data[0], data[1], data[2] ax = plt.subplot(111, projection='3d') # 創建一個三維的繪圖工程 # 將數據點分成三部分畫, 在顏色上有區分度 ax.scatter(x[:1], y[:1], z[:1], c='y') # 繪制數據點 ax.scatter(x[10:20], y[10:20], z[10:20], c='r') ax.scatter(x[20:30], y[20:30], z[20:30], c='g') ax.set_zlabel('Z') # 坐標軸 ax.set_ylabel('Y') ax.set_xlabel('X') plt.show()
繪制三維平面圖
from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.arange(-4, 4, 0.25) Y = np.arange(-4, 4, 0.25) X, Y = np.meshgrid(X, Y) R = np.sqrt(X**2 + Y**2) Z = np.sin(R) # 具體函數方法可用 help(function) 查看,如:help(ax.plot_surface) ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') plt.show()
參考鏈接:掘金-Python繪制六種可視化圖表詳解