Python 用numpy、scipy绘制图形

Python 用numpy、scipy绘制图形,python,numpy,scipy,mplot3d,Python,Numpy,Scipy,Mplot3d,我有x1,y1,z1在t1时刻的坐标,我有x2,y2,z2在t2时刻的坐标。我想给他们画一张图表 我有所有的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.38043828

我有x1,y1,z1在t1时刻的坐标,我有x2,y2,z2在t2时刻的坐标。我想给他们画一张图表

我有所有的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数组?

根据您的评论:

我已经为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\u style')
形式,其中
'marker\u style'
是根据您的注释定义的字符串:

我已经为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\u style')
形式,其中
'marker\u style'
是根据您的注释定义的字符串:

我已经为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\u style')
形式,其中
'marker\u style'
是根据您的注释定义的字符串:

我已经为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\u style')
形式,其中
'marker\u style'
是定义的字符串

如果要显示a,B的三维位移,请使用模块
mpl\u工具包。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的起点,请参见

如果要显示A、B的三维位移,请使用模块
mpl_工具包。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的起点,请参见

如果要显示A、B的三维位移,请使用模块
mpl_工具包。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的起点,请参见

如果要显示A、B的三维位移,请使用模块
mpl_工具包。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的起点,请参见您尝试了什么?是否有要使用的特定绘图库?Matplotlib?你有没有读过Python的基本绘图教程?@three_Pinepples:是的,我正在读Matplotlib,但却不明白如何绘图it@sam,你想把它们画成6行吗?@zhangxaochen:我想从这些图形中画出尽可能多的图形类型data@sam,你所说的“类型”是什么意思?至少给出一些你想要的特定类型…你试过什么?是否有要使用的特定绘图库?Matplotlib?你有没有读过Python的基本绘图教程?@three_Pinepples:是的,我正在读Matplotlib,但却不明白如何绘图it@sam,你想把它们画成6行吗?@zhangxaochen:我想从这些图形中画出尽可能多的图形类型data@sam,你所说的“类型”是什么意思?至少给出一些你想要的特定类型…你试过什么?是否有要使用的特定绘图库?Matplotlib?你有没有读过Python的基本绘图教程?@three_Pinepples:是的,我正在读Matplotlib,但却不明白如何绘图it@sam,你想把它们画成6行吗?@zhangxaochen:我想从这些图形中画出尽可能多的图形类型data@sam,你所说的“类型”是什么意思?至少给出一些你想要的特定类型…你试过什么?是否有要使用的特定绘图库?Matplotlib?你有没有读过Python的基本绘图教程?@three_Pinepples:是的,我正在读Matplotlib,但却不明白如何绘图it@sam,你想把它们画成6行吗?@zhangxaochen:我想从这些图形中画出尽可能多的图形类型data@sam,你所说的“类型”是什么意思?至少给出一些你想要的特定类型…这是一个很好的例子,但在这个例子中,我可以看到2个图表。我需要一个图表,我可以看到和之间的差异B@sam这一点在你的问题中没有说清楚(我把你说的解释为一张图代表A,一张图代表B)。只要注释掉图(2)中的那一行,你就会看到一个有6行的图表。我理解你是如何做到这一点的,谢谢你。在您的代码中,我可以看到两个图形,一个用于A,一个用于B。我只想绘制一个包含A和的图形B@sam正如我在上一篇评论中所说的,如果您注释掉表示
图(2)
的行,您将只得到一个图形。我已经更新了代码来说明我的意思。谢谢你的回答和指导。这是一个很好的例子,但在这个例子中,我可以看到两个图表。我需要一个图表,我可以看到和之间的差异B@sam这一点在你的问题中没有说清楚(我把你说的解释为一张图代表A,一张图代表B)。只需注释掉