Я впервые делал 3D-графики, используя matplot lib.
Я создал этот график:
![enter image description here](https://i.stack.imgur.com/1YUFs.png)
Using this code:
fig = plt.figure(figsize=(10, 10))
ax = plt.axes(projection="3d")
idx = 14
#origin
ax.scatter([0],[0],[0],s=200,marker='+',color='k')
#object1
ax.scatter(object1_z[idx],object1_ra[idx],object1_dec[idx], s=100, color='r',marker='o')
#cross1
ax.scatter(cross1_position[2],cross1_position[0],cross1_position[1], s=400, color='b',marker='X')
#b_hat
ax.quiver(cross1_position[2],cross1_position[0],cross1_position[1],b_hat_z[idx],b_hat_ra[idx],b_hat_dec[idx],arrow_length_ratio=0.1,lw=2,color='b')
#k_hat
ax.quiver(object1_z[idx],object1_ra[idx],object1_dec[idx],1,0,0,arrow_length_ratio=0.1,lw=2,color='b')
#axis
ax.quiver(cross1_position[2]+(0.05*(cross1_position[2]-axis[2])),cross1_position[0]+(0.05*(cross1_position[0]-axis[0])),cross1_position[1]+(0.05*(cross1_position[1]-axis[1])),axis[2],axis[0],axis[1],arrow_length_ratio=0.1,color='r',pivot='tip')
ax.quiver(cross1_position[2]-(0.05*(cross1_position[2]-axis[2])),cross1_position[0]-(0.05*(cross1_position[0]-axis[0])),cross1_position[1]-(0.05*(cross1_position[1]-axis[1])),-axis[2],-axis[0],-axis[1],arrow_length_ratio=0.1,color='r',pivot='tip')
#joining lines
ax.plot([cross1_position[2],object1_z[idx]],[cross1_position[0],object1_ra[idx]],[cross1_position[1],object1_dec[idx]],linestyle='--',color='k',lw=2)
ax.plot([cross1_position[2],53],[cross1_position[0],0],[cross1_position[1],0],linestyle='--',color='k',lw=2)
ax.plot([object1_z[idx],53],[object1_ra[idx],0],[object1_dec[idx],0],linestyle='--',color='k',lw=2)
# sphere
u = np.linspace(0, 2*np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = np.outer(np.cos(u),np.sin(v))
y = np.outer(np.sin(u),np.sin(v))
z = np.outer(np.ones(np.size(u)),np.cos(v))
ax.plot_surface(x,y,z,rstride=4,cstride=4, color='r',alpha=0.1,facecolors=plt.cm.gray(z))
ax.set_xlabel('z')
ax.set_ylabel('x')
ax.set_zlabel('y')
ax.set_xlim(-1.3,1.3)
ax.set_ylim(-1.3,1.3)
ax.set_zlim(-1.3,1.3)
plt.show()
I would like to put another sphere in this following position, off of the first set of axes:
введите описание изображения здесь
Мой вопрос:
Могу ли я сделать это, используя мои существующие оси? Если я попытаюсь поместить свою вторую сферу там, где я хочу, используя координаты (что-то вроде (x = 0, y = 0, z = 5)), это не даст мне того, что я хочу, потому что он раздавит мое существующее изображение. (по оси z).
Нужно ли мне добавить второй набор невидимых осей или что-то в этом роде?
В итоге: какой хороший способ разместить изображение на месте "ЗДЕСЬ" на изображении выше.