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

執行上面示例代碼,得到以下結果:


上一篇: Matplotlib提琴圖 下一篇: Matplotlib 3D輪廓圖