0

我想用 Matplotlib 制作一个 3D 图表。出现图形窗口,但未显示任何数据。我究竟做错了什么?

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = [0, 10, 20, 40, 100]
y = [1, 4, 8, 60, 200]
z = [4, 5, 6, 7, 8]


ax.plot_surface(x, y, z)

plt.show()
4

2 回答 2

1

plot_surface需要 2D 输入(doc)。它没有绘制任何东西,因为你没有给它一个有效的表面来绘制。

请参阅此示例

于 2013-03-13T18:13:10.887 回答
0

X、Y 和 Z 需要是二维数组

曲面图 Axes3D.plot_surface(X, Y, Z, *args, **kwargs) 创建曲面图。

参数说明

X、Y、Z 数据值作为 2D 数组

但是我不明白其背后的逻辑:查看此SO 帖子以获取更多信息。

于 2013-03-13T18:12:29.200 回答