我目前只能锁定一件简单的事情(我想),但是我没有发现完全相同的问题和我想做的事情。我想要以3D绘制17个图。每个图将代表Y轴。我有一个数据文件,我可以使用\ t分隔符将其放入csv中,但是我不了解我们如何只用线条,没有表面,没有散点,没有轮廓等就可以在3D中绘制...行。
我在Linux上,并且已经尝试了y = 1和y = 2的2个图。我在网上查找了一些示例,但没有人可以使用,我一无所知...
例如,我有此data.csv:
251.069 0.15 1
251.67 0.148 1
252.27 0.147 1
252.871 0.147 1
253.472 0.146 1
254.072 0.144 1
254.673 0.143 1
255.273 0.141 1
255.874 0.14 1
256.474 0.139 1
250.468 0.163 2
251.069 0.162 2
251.670 0.160 2
252.270 0.159 2
252.871 0.157 2
253.472 0.156 2
254.072 0.154 2
254.673 0.152 2
255.273 0.151 2
255.874 0.150 2
256.474 0.148 2
第三列等于我的y轴。
我开始用这种代码分析这些数据:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
DataX_Y_1D = np.loadtxt("data.csv", delimiter="\t")
# create 2d x,y grid (both X and Y will be 2d)
X, Y = np.meshgrid(DataX_Y_1D[:,0], DataX_Y_1D[:,1])
# get 2D z data
Z = np.loadtxt("data.csv", delimiter="\t")
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(X, Z, Y, label='parametric curve')
plt.show()
但是我不了解Z线,我尝试使用:
进行更改X, Y , Z = np.meshgrid(DataX_Y_1D[:,0], DataX_Y_1D[:,1], DataX_Y_1D[:,2])
Traceback (most recent call last):
File "try.py", line 8, in <module>
X, Y , Z = np.meshgrid(DataX_Y_1D[:,0], DataX_Y_1D[:,1], DataX_Y_1D[:,2])
File "/home/gabriel/miniconda3/lib/python3.6/site-packages/numpy/lib/function_base.py", line 4679, in meshgrid
output = [x.copy() for x in output]
File "/home/gabriel/miniconda3/lib/python3.6/site-packages/numpy/lib/function_base.py", line 4679, in <listcomp>
output = [x.copy() for x in output]
MemoryError