- Python筆記:三維圖表繪制方法簡介
- 1. python三維圖表繪制方法簡介
- 2. 實體說明
- 1. 三維曲線圖繪制
- 2. 三維散點圖繪制
- 3. 三維曲面圖繪制
- 3. 參考鏈接
1. python三維圖表繪制方法簡介
python三維圖表的繪制算是二維圖表的一個進階版本,本質上和二維圖表的繪制并無差別,唯一的區別在于使用的庫略有差異,
相較于二維圖表使用的pyplot庫,三維圖表的繪制使用的是Axes3D庫,
庫引入陳述句為:
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
上下的操作就和二維圖表繪制大差不差了,首先定義三維畫布,然后向里面繪制三維圖表,最后列印出結果即可,
下面,我們通過一些實體來進行說明,
2. 實體說明
1. 三維曲線圖繪制
首先,我們來看一下三維曲線圖的繪制,
三維曲線圖的繪制和二維曲線圖的繪制方法極其相似,只是我們需要做以下兩點修改:
- 將畫布修改為三維坐標系;
- 傳參時同時傳入x、y、z三個維度的坐標信號,
另外,plot函式需要修改三維曲線繪制的Axes3D.plot函式,
給出代碼樣例如下:
import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
theta = numpy.linspace(0, 3.14*4, 200)
r = numpy.linspace(0, 1, 200)
x = r * numpy.cos(theta)
y = r * numpy.sin(theta)
z = numpy.linspace(0, 2, 200)
fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d')
ax1.plot(x, y, z)
plt.show()
運行即可得到一張三維曲線圖,

2. 三維散點圖繪制
下面,我們來看一下三維空間中的散點圖繪制方法,
其方法其實挺簡單的,就是先繪制x、y面的網點坐標,計算相應的z軸高度,而后創建一張三維圖,然后通過Axes3D.scatter函式進行散點圖繪制即可,
我們給出具體的代碼樣例如下:
import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = numpy.linspace(-2, 2, 10)
y = numpy.linspace(-2, 2, 10)
xx, yy = numpy.meshgrid(x, y)
z = xx ** 2 - yy ** 2
fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d') # 創建三維坐標軸
ax1.scatter(xx, yy, z) # 繪制三維散點圖
plt.show()
運行即可得到三維散點圖,

3. 三維曲面圖繪制
三維曲面圖的繪制與三維極其類似,只需要將Axes3D.scatter函式替換為Axes3D.plot_surface函式即可,
我們就不再多做解釋了,直接給出代碼樣例如下:
import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = numpy.linspace(-2, 2, 10)
y = numpy.linspace(-2, 2, 10)
xx, yy = numpy.meshgrid(x, y)
print(xx.shape, yy.shape)
z = xx ** 2 - yy ** 2
fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d') # 創建三維坐標軸
ax1.plot_surface(xx, yy, z) # 繪制三維曲面圖
plt.show()
運行即可得到三維曲面圖,

3. 參考鏈接
- https://matplotlib.org/tutorials/toolkits/mplot3d.html
- Python三維繪圖–Matplotlib
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/89542.html
標籤:其他
