儘管Matplotlib最初設計時只考慮了二維繪圖,但是在後來的版本中,Matplotlib的二維顯示器上構建了一些三維繪圖實用程式,以提供一組三維資料視覺化工具。通過匯入Matplotlib包中包含的mplot3d
工具包,可以啟用三維圖。
可以通過將關鍵字projection ='3d'
傳遞給任何法線軸建立例程來建立三維軸。
範例程式碼:
#! /usr/bin/env python
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import math
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字型)
plt.rcParams['axes.unicode_minus'] = False # 原文出自【易百教學】,商業轉載請聯絡作者獲得授權,非商業請保留原文連結:
from mpl_toolkits import mplot3d
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
ax.plot3D(x, y, z, 'gray')
ax.set_title('3D line plot')
plt.show()
執行上面範例程式碼,得到以下結果 -
現在可以繪製各種三維繪圖型別。最基本的三維繪圖是根據(x,y,z)
三元組建立的3D線圖。這可以使用ax.plot3D
函式建立。
使用ax.scatter3D
函式生成三維散點圖。
範例程式碼
#! /usr/bin/env python
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import math
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字型)
plt.rcParams['axes.unicode_minus'] = False # 原文出自【易百教學】,商業轉載請聯絡作者獲得授權,非商業請保留原文連結:
from mpl_toolkits import mplot3d
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
ax.plot3D(x, y, z, 'gray')
ax.set_title('3D line plot')
plt.show()
執行上面範例程式碼,得到以下結果: