Я в настоящее время заблокирован простой вещью (я думаю), но я не нашел ту же самую проблему и вещь, которую я хочу сделать.Я хочу построить 17 сюжетов в 3D.Каждый график будет представлять ось Y.У меня есть файл данных, который я могу поместить в csv с разделителем \ t, однако я ничего не понимаю о том, как мы можем строить трехмерные изображения только с линией, без поверхности, без разброса, без контура и т. Д.линии.
Я нахожусь на Linux, и я уже пробую только для 2 графиков с y = 1 и y = 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