儘管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輪廓圖