Orion Constellation Project

Here is my code and corresponding outputs for the Orion Constellation Project. Codecademy is not allowing me to post the 2-D plot because I am a new user so I am only allowed one image, but the 3-D plot is viewable here. I enjoyed the finish product and getting to interact with the graph at the end.

Let me know if there is anything I can improve!

#Importing libraries
%matplotlib notebook
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

Orion

x = [-0.41, 0.57, 0.07, 0.00, -0.29, -0.32,-0.50,-0.23, -0.23]
y = [4.12, 7.71, 2.36, 9.10, 13.35, 8.13, 7.19, 13.25,13.43]
z = [2.06, 0.84, 1.56, 2.07, 2.36, 1.72, 0.66, 1.25,1.38]

#2D Constellation Plot
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x,y, color = ‘blue’)
plt.title(‘2D Plot of Orion Constellation’)
plt.show()

#3D Constellation Plot
fig_3d = plt.figure()
ax = fig_3d.add_subplot(1,1,1, projection = ‘3d’)
constellation3d = ax.scatter(x, y, z)
plt.title(‘3D Plot of Orion Constellation’)
plt.show()

image

1 Like

Yeah man, looks just like mine. Do you know of a more efficient way to post work to the forums straight from the jupyter notebook? The forum does not accept .ipynb files!

1 Like

If you know git and have github account, I have found that github with run/render a Jupyter notebook.

So, if you put your notebook on github and put the link on your forum post, the notebook looks pretty much like it does in Jupyter when you follow the link.

For example, here is my forum post for this project, which contains the link to my solution on github.

1 Like

This is great to know! mine looks similar as well

1 Like

My code for the 3D plot is:

fig_3d = plt.figure()
fig_3d.add_subplot(1, 1, 1, projection='3d')
constellation3d = plt.scatter(x, y, z, color='darkblue')
#plt.axis('off') #Uncomment this line to see the constellation without axes
plt.suptitle('3D Plot of the Orion Constellation', fontsize = 14)
plt.title('Click and drag to rotate')
plt.show()

I think something must be wrong with the plotting of the z-axis. When you do:
print(min(z)) print(max(z))
you can see that the z-coordinates range from 0.66 to 2.36. However on the 3D plot the z-axis runs from -0.04 to 0.04 and if you rotate the plot in a certain way you can see that all the z values are actually plotted as zero! Does anyone know what’s going on?

1 Like

This is my code of Orion Constellation.

from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
%matplotlib notebook
#This is the data, [x,y] for scatter plot in 2D, [x,y,z] for scatter plot 3D.
x = [-0.41, 0.57, 0.07, 0.00, -0.29, -0.32,-0.50,-0.23, -0.23]
y = [4.12, 7.71, 2.36, 9.10, 13.35, 8.13, 7.19, 13.25,13.43]
z = [2.06, 0.84, 1.56, 2.07, 2.36, 1.72, 0.66, 1.25,1.38]

#This is my code for the scatter plot in 2D
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(1,1,1)
plt.scatter(x, y, color = ‘black’, marker = ‘*’, alpha=0.25)
#Here I put the labels and the title
ax.set_xlabel(‘Position of “X’s”’)
ax.set_ylabel(‘Position of “Y’s”’)
ax.set_title(‘The Position of the Orion Constellation in 2D’)

#This is my code for the scatter plot in 3D
fig3D = plt.figure(figsize=(10, 8))
ax = fig3D.add_subplot(1,1,1, projection = “3d”)
constellation3d = ax.scatter(x, y, z, color = ‘black’, marker = ‘*’, alpha=0.7)
#Here I put the labels and the title
ax.set_xlabel(‘Position of “X’s”’)
ax.set_ylabel(‘Position of “Y’s”’)
ax.set_zlabel(‘Position of “Z’s”’)
ax.set_title(‘The Position of the Orion Constellation in 3D’)

plt.show()

I’m dealing with the exact same thing currently. Did you find a resolve?

Bit late to the party, but here’s mine!

fig = plt.figure(figsize=(7,5))
plt.subplot(1,1,1)
plt.scatter(x,y,color = ‘red’)
plt.title(‘2D representation of Orion Constellation’)
plt.xlabel(‘x-coords of stars’)
plt.ylabel(‘y-coords of stars’)
plt.show()

Screenshot 2021-07-21 at 10.20.16 pm

And also:

fig_3d = plt.figure()
ax = fig_3d.add_subplot(1,1,1, projection = ‘3d’)
constellation3d = ax.scatter(x,y,z, color = ‘blue’)
plt.title(‘3D representation of Orion Constellation’)
ax.set_xlabel(‘X-coords’)
ax.set_ylabel(‘Y-coords’)
ax.set_zlabel(‘Z-coords’)
plt.show()

Screenshot 2021-07-21 at 10.20.27 pm

Overall this was a fun little exercise. A bit hand-holdy for this stage in the course though.

imports neeeded for this project

from matplotlib import projections, pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

Orion

x = [-0.41, 0.57, 0.07, 0.00, -0.29, -0.32,-0.50,-0.23, -0.23]

y = [4.12, 7.71, 2.36, 9.10, 13.35, 8.13, 7.19, 13.25,13.43]

z = [2.06, 0.84, 1.56, 2.07, 2.36, 1.72, 0.66, 1.25,1.38]

2D Visualization

plt.figure()

ax = plt.subplot(1,1,1)

ax = plt.scatter(x, y, color=‘red’)

plt.title(‘2D Orion’)

plt.show()

3D Visualization

plt.close()

fig_3d = plt.figure()

ax = fig_3d.add_subplot(1, 1, 1, projection=“3d”)

constellation3d = plt.scatter(x, y, z)

plt.title(“3D orion”)

plt.show()