在matplotlib中从元组列表绘制3D表面?
要在matplotlib中从元组列表绘制3D表面,我们可以执行以下步骤。
步骤
- 设置图形大小并调整子图周围和之间的填充。
-
创建元组列表。
-
从元组列表获取 x,y 和 z 数据点。
-
从坐标向量返回坐标矩阵。
-
获取表面图的 h 数据点。
-
创建一个新图或激活现有图。
-
获取当前图形的3d轴。
-
创建表面图。
-
要显示图像,请使用 Show() 方法。
示例
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
#元组列表
data = [(1, 3, 2), (3, 5, 2), (4, 7, 4), (8, 7, 4),
(3, 6, 1), (3, 9, 0), (3, 9, 0)]
# 从元组列表获取数据点
x, y, z = zip(*data)
x, y = np.meshgrid(x, y)
h = x ** 2 + y ** 2
fig = plt.figure()
# 获取当前轴
ax = fig.gca(projection='3d')
# 表面图
ax.plot_surface(x, y, h, cmap='plasma')
plt.show()
输出
它将产生以下输出 −