Построение простого трехмерного массива numpy с использованием matplotlib

Я хочу построить результат численного метода для трехмерной системы ОДУ. Мой вывод в форме (допустим, мы вычислили три шага):

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

Где первое значение в каждой тройке — это координата x, второе — координата y, а третье — координата z.

Мне нужен самый простой и эффективный способ нанесения этих точек на трехмерную сетку. Проблема, похоже, в том, что данные должны быть отформатированы как np.array([[1,4,7], [2,5,8], [3,6,9]]).


person D1X    schedule 31.10.2016    source источник


Ответы (1)


Вы можете построить результат в 3D следующим образом:

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()

введите описание изображения здесь

person Angus Williams    schedule 01.11.2016
comment
E:\Python35\Lib\site-packages\matplotlib\tight_layout.py:177: UserWarning: левое и правое поля нельзя сделать достаточно большими, чтобы вместить все украшения осей. warnings.warn('Левое и правое поля не могут быть увеличены' - person john ktejik; 17.09.2019