2015-05-27 162 views
2

我试图根据python的能量来绘制激光的横截面。在实验中,我通过在横截面上采用手动一维切片来实现这一点,该切片分别为我提供沿着x和y轴的数据,以便我以x和y数据为单位,以毫米为单位,z数据为能量。在三维绘图上绘制两个二维图

我想将这些数据连接到3D图上,但我不知道如何以不同的方式定向不同的切片。

到目前为止,我有:

fig = plt.figure(figsize = (14, 10)) 
ax1 = fig.add_subplot(111, projection = '3d').plot(x1, y1) 
ax2 = fig.add_subplot(111, projection = '3d').plot(x2, y2) 

这给两个地块在同一轴线上,在3D图平放。我希望他们都站起来,并且让x1,y1和x2,y2沿着不同的方向走向(即在图上彼此垂直)。

这可能吗?并有人会有任何建议如何做到这一点?

+0

我还要提到的是X1,Y2有155点,而x2,y2有218个点...激光是椭圆形的。 – SkilstoPayBils

回答

3

如果我正确理解了你的话,你想要第一个绘制在xz平面上,第二个要在yz平面上。这是可能的,只要填写您的图形冗余尺寸以零:

ax = fig.add_subplot(111, projection = '3d') 
ax.plot(x1, np.zeros_like(x1), y1) 
ax.plot(np.zeros_like(x2), x2, y2) 

这(在适当的数据)得到如下图: enter image description here

+0

非常感谢!我有这样一种倾向:过度去思考这样的事情,并说服自己这是非常复杂的事情,但事实并非如此。 – SkilstoPayBils