使用 3D 圖表
matplotlib 除了常見的 2D 圖表,也可透過一些簡單的設定,將圖表轉換成 3D 的顯示模式,這篇教學將會介紹如何使用 3D 圖表。
本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )
import matplotlib
要進行本篇的範例,必須先載入 matplotlib 函式庫的 pyplot 模組,範例將其獨立命名為 plt。
import matplotlib.pyplot as plt
啟用 3D 圖表
如果使用 fig = plt.figure() 的方式建立圖表,只要額外設定 projection='3d',就能將圖表的顯示模式設定為 3D 圖表。
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6,6))
ax = plt.subplot(projection='3d') # 設定為 3D 圖表
x = range(5)
y = [1,5,8,4,6]
ax.plot(x,y)
plt.show()
因為是 3D 圖表,所以也能加入 z 軸的資料,透過圖表顯示 3 維的數據。
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6,6))
ax = plt.subplot(projection='3d')
x = range(5)
y = [1,2,3,4,5]
z = [1,2,0,2,1]
ax.plot(x,y,z) # 加入 z 軸數據
plt.show()
設定 3D 圖表標籤樣式
設定 3D 圖表標籤的方式和 2D 圖表相似,差別只在於要額外設定 z 方向的標籤 ( 通常就是將對應的方法前方改成 z )
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(11,5))
x = range(5)
y = [1,2,3,4,5]
z = [1,2,0,2,1]
ax = plt.subplot(121, projection='3d')
ax.set_title('ax',fontsize=20) # 設定圖表 title
ax.plot(x,y,z)
ax2= plt.subplot(122, projection='3d')
ax2.set_title('ax2',fontsize=20) # 設定圖表 title
ax2.set_xlabel('x',fontdict={'size':15},labelpad=8, color='#f00') # 設定 x 軸標題
ax2.set_ylabel('y',fontdict={'size':15},labelpad=8, color='#0f0') # 設定 y 軸標題
ax2.set_zlabel('z',fontdict={'size':15},labelpad=8, color='#00f') # 設定 z 軸標題
ax2.tick_params(axis='x', labelsize=12, labelcolor='#f00' ) # 設定 x 軸標籤文字
ax2.tick_params(axis='y', labelsize=12, labelcolor='#0f0' ) # 設定 y 軸標籤文字
ax2.tick_params(axis='z', labelsize=12, labelcolor='#00f' ) # 設定 z 軸標籤文字
ax2.plot(x,y,z,color='#f90')
ax2.scatter(x,y,z,s=100,color='#000') # 使用散布圖加入資料點
plt.tight_layout()
plt.show()
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~