数组图未出现在三维图形上

2024-03-29 15:37:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个非常大的结构化数组,我想绘制为网格,但它没有出现。你知道吗

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


path = '/users/unsername/Desktop/untitled folder/python files/MSII_phasespace/'

os.chdir( path )

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

#Data  
data = np.load('msii_phasespace.npy',mmap_mode='r')
    # data.size: 167197
    # data.shape: (167197,)
    # data.dtype: dtype([('x', '<f4'), ('y', '<f4'), ('z', '<f4'),
      # ('velx', '<f4'), ('vely', '<f4'), ('velz', '<f4'), ('m200', '<f4')])



u = data['x']
v = data['y']
w = data['z']

Xs = np.arange(0,500, 1000)
Ys = np.arange(0,500, 1000)
Xs, Ys = np.meshgrid(Xs, Ys)
Zs = np.arange(0,500, 1000)

ax.plot(u,v,w)

ax.plot_wireframe(Xs,Ys,Zs)

plt.show()

我觉得它只与我的linspace中的值有关,但我不确定。而且,它们也没有我可以为Zs设置的功能。我要绘制数组中的所有元素。你知道吗

另外,数组的大小、形状和类型用#表示。你知道吗


Tags: pathimportdataosasnp绘制plt