0

我在时间 t1 有 x1、y1、z1 坐标,在时间 t2 我有 x2、y2、z2 坐标。我想为他们绘制图表。

我有所有 numpy 数组。

A = [[44.254  44.114  44.353  44.899  45.082] [-0.934  0.506  1.389  0.938  0.881] [44.864  45.225  44.005  42.981  46.356]]

t1 = [0 1.4911475447  1.5248639284  1.2450273089    3.3804382852]

B = [[44.254  48.4877582254 43.0268091866   47.3166368948   47.7110371397] [-0.934  1.0837036817    4.8307913511    6.2772868228    9.6580229826] [44.864   47.1020391758   43.0633715949   42.1564814645   42.0223003717]]

t2 = [0 0.00392157  0.00784314  0.01176471  0.01568627 ]

如何在图表中绘制这些 numpy 数组?

4

2 回答 2

2

如果要显示A、B的3d 位移,请使用模块mpl_toolkits.mplot3d

A = [[44.254, 44.114, 44.353, 44.899, 45.082],[-0.934, 0.506, 1.389, 0.938, 0.881],[44.864, 45.225, 44.005, 42.981, 46.356]]
t1 = [0, 1.4911475447, 1.5248639284, 1.2450273089, 3.3804382852]
B = [[44.254, 48.4877582254, 43.0268091866,  47.3166368948,  47.7110371397], [-0.934, 1.0837036817, 4.8307913511, 6.2772868228, 9.6580229826],  [44.864,  47.1020391758,  43.0633715949,  42.1564814645,  42.0223003717]]
t2 = [0, 0.00392157, 0.00784314, 0.01176471, 0.01568627 ]

import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D
ax3d=plt.gca(projection='3d')
ax3d.plot(A[0], A[1], A[2], 'r',)
ax3d.scatter(A[0], A[1], A[2], c='r')

ax3d.plot(B[0], B[1], B[2], 'g',)
ax3d.scatter(B[0], B[1], B[2], c='g')

plt.show()

绘图结果如下: 在此处输入图像描述

如果要添加注释来标记A,B的起点,请参见问题帖

于 2014-01-16T07:20:13.607 回答
1

根据您的评论:

我为 A 和 B 的每个坐标创建了 3 个图。我只想在一个图中为 A 和 B 显示 x、y 和 z 坐标。我该如何显示呢?

我相信您正在寻找的是:

A = [[44.254, 44.114, 44.353, 44.899, 45.082],[-0.934, 0.506, 1.389, 0.938, 0.881],[44.864, 45.225, 44.005, 42.981, 46.356]]
t1 = [0, 1.4911475447, 1.5248639284, 1.2450273089, 3.3804382852]
B = [[44.254, 48.4877582254, 43.0268091866,  47.3166368948,  47.7110371397], [-0.934, 1.0837036817, 4.8307913511, 6.2772868228, 9.6580229826],  [44.864,  47.1020391758,  43.0633715949,  42.1564814645,  42.0223003717]]
t2 = [0, 0.00392157, 0.00784314, 0.01176471, 0.01568627 ]

for i in range(len(A)):
    figure(1)
    plot(t1,A[i],'o')
    #figure(2)
    plot(t2,B[i],'o')
show()

请注意,如果figure(x)当前图形x不存在,则将其设置为或创建它。该plot函数采用plot(x,y,'marker_style')此处'marker_style'定义的字符串形式

于 2014-01-16T06:32:16.090 回答