Matplotlib的3D图形不显示任何内容

0 投票
2 回答
4384 浏览
提问于 2025-04-17 18:58

我想用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()

2 个回答

0

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

表面图 Axes3D.plot_surface(X, Y, Z, *args, **kwargs) 用于创建一个表面图。

参数 描述

X, Y, Z 数据值,格式为二维数组

不过我不太明白这个逻辑:可以查看这个 SO帖子 获取更多信息。

1

plot_surface 这个函数需要你提供二维的数据输入(文档)。如果你没有给它一个有效的表面去绘制,它就不会画出任何东西。

你可以看看这个 示例

撰写回答