我正在绘制航天器在其轨道上某个特定点的轨迹图。 我有一段代码可以在3dMatplotlib中生成一个3d线图(mycode和figure的一部分显示在这里)(我将每个数组中X、Y、Z内的点数大幅减少到~20个,以便更容易简单地复制和粘贴,因为原理是一样的):
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
from numpy import *
XdS=[14.54156005, 14.53922242, 14.53688586, 14.53454823, 14.5322106 , 14.52987297, 14.52753426, 14.52519555, 14.52285792, 14.52051922, 14.51818051, 14.51584073, 14.51350095, 14.51116117, 14.5088214 , 14.50648162, 14.50414076, 14.50179991, 14.49945906, 14.49711821]
YdS=[31.13035144, 31.12920087, 31.12805245, 31.12690188, 31.12575131, 31.12460073, 31.12345016, 31.12229745, 31.12114473, 31.11999201, 31.1188393 , 31.11768443, 31.11652957, 31.11537471, 31.11421984, 31.11306283, 31.11190582, 31.11074882, 31.10959181, 31.1084348]
ZdS=[3.94109446, 3.94060316, 3.94011186, 3.93962083, 3.93912926, 3.93863796, 3.93814639, 3.93765482, 3.93716325, 3.93667169, 3.93617985, 3.93568828, 3.93519618, 3.93470434, 3.9342125 , 3.9337204 , 3.93322829, 3.93273592, 3.93224382, 3.93175144]
fig=plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(XdS,YdS,ZdS,c='black',linewidth=2)
ax.set_xlabel('XKSM (Saturn Radii)')
ax.set_ylabel('YKSM (Saturn Radii)')
ax.set_zlabel('ZKSM (Saturn Radii)')
plt.show()
我要做的是能够在这个绘图的边/平面上绘制2d绘图X vs Y、X vs Z和Y vs Z,即在3个2d平面中显示3d轨迹,并在当前绘图的每个轴上显示它们。(实际上并不像听起来那么复杂,因为我已经有了轨迹的X,Y,Z值)。在这里,我发现了一个类似的例子,但是使用了所有的3d绘图功能,可以在:http://matplotlib.org/1.3.1/examples/mplot3d/contour3d_demo3.html:如果你检查了,检查一下链接,它将显示我试图实现的图像类型。在
^{pr2}$理论上,这正是我所需要的,在某种程度上,它需要一个三维情况的平面视图。但是,我不能在三维轴上实现二维线绘制,也不能在二维打印中使用偏移命令(获取错误:TypeError:没有线属性“offset”)。在
是否有一个2d等效于3d“offset”命令,是否可以按我的要求在3d打印的平面上打印2d值?还有没有一种方法可以在初始化三维投影后绘制二维线?有没有人能给我一些建议/指出我的方向来帮助我实现这一目标?在
在此之前,我真诚地感谢你,如果你的文章有任何问题,我会道歉,这是我的第一篇!在
试试这个:
相关问题 更多 >
编程相关推荐