使用 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()
微信扫码关注
抖音扫码关注