使用matplotlib绘制一个简单的3D numpy数组

6

我希望绘制一个三维ODE系统数值方法的结果。我的输出形式为(假设我们已经计算了三个步骤):

import numpy as np
v= np.array([[1,2,3], [4,5,6], [7,8,9]])

每个3元组中的第一个值是x坐标,第二个值是y坐标,第三个值是z坐标。

我希望以最简单高效的方式在3D网格上绘制这些点。问题似乎在于数据应该格式化为np.array([[1,4,7], [2,5,8], [3,6,9]])

1个回答

10

您可以像这样在三维图中绘制结果:

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

v= np.array([[1,2,3], [4,5,6], [7,8,9]])
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(v[:,0],v[:,1],v[:,2])
plt.show()

enter image description here


E:\Python35\Lib\site-packages\matplotlib\tight_layout.py:177: 用户警告:左右边距无法调整到足以容纳所有轴装饰的大小。 warnings.warn('The left and right margins cannot be made large ' - john k

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接