【问题标题】:Matplotlib's 3D Graph does not show anythingMatplotlib 3D Graph 不显示任何内容
【发布时间】:2013-03-13 17:41:20
【问题描述】:

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

【问题讨论】:

    标签: python graph matplotlib


    【解决方案1】:

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

    看到这个example

    【讨论】:

      【解决方案2】:

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

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

      参数说明

      X、Y、Z 二维数组形式的数据值

      但我不明白其背后的逻辑:查看此SO post 了解更多信息。

      【讨论】:

      • 逻辑是plot_surface 和底层函数假设表面中点的连通性由矩阵中的位置给出。这是X[i,j] 具有 NN X[i + 1, j]X[i, j + 1]X[i, j - 1]X[i - 1, j]
      猜你喜欢
      • 2020-03-24
      • 1970-01-01
      • 2012-09-29
      • 2020-11-10
      • 2012-04-12
      • 2019-11-11
      • 2017-09-25
      • 2012-08-02
      • 2019-08-11
      相关资源
      最近更新 更多