This is my first project I’ve ever done using Python, so I hope I haven’t made any mistakes. Feedback would be greatly appreciated!
Congratulations on finishing up.
This issue seems to catch out almost everyone but using the standard
matplotlib.pyplot.scatter() function you will only get 2D plotting (if you look carefully at your figure and rotate a little all the points are at z=0.0) as there’s no
z parameter in this function. You’d want to be using the scatter method of the 3D axis itself, e.g.
fig_3d = plt.figure() ax_3d = plt.subplot(1, 1, 1, projection="3d") orion_3d_scatter = ax_3d.scatter(x, y, z ...
My only other comment would be to consider adding x, y, z labels to the axes. The actual units/explanation for this is little complex (see the linked paper in the instructions) so you might just want to leave them as
x, y, z (a.u. which is arbitrary units, dots are important). For this example I suppose it doesn’t matter too much but try to get in the habit of making your figures as immediately readable as possible. If the viewer can understand them without reading a single piece of text then that’s ideal (but often impossible). Something to keep in mind at least.