Matplotlib三維繪圖


儘管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()

執行上面範例程式碼,得到以下結果: