I've long been interested in the various interactive graphs that I've seen, so I thought for my final project I'd try my hand at making one!

For this project, I used data from the Open Exoplanet Catalog, which is hosted on github.

This web application will parse the data from the XML file containing the exoplanet data and create a simple scatterplot based on the options in the form to the left of the graph. More about the specifics of how everything works in the "Design" section!

Making a scatterplot

To create your first scatter plot, simply choose an option from the dropdown menu. The graph will automatically update when you change any parameter. The axis options will change which values are plotted on each axis. The scale options will change the type of scale from linear to logarithmic (or log for short). The logarithmic scale is better for data that has quite a large range, but wouldn't make sense for some parameters (like date, for example).

The size dropdown will change the radius value for each point. The larger the radius or mass of the planet that the circle is representing, the larger the point on the scatterplot. The "constant" option will make every point the same size, which makes every planet easy to see on the graph - even the small ones!

Explore the planets

The plot itself also has a few interactive features. Hovering over each point on the graph will bring up a box with information about that particular planet from the dataset, including the planet's name, a description, mass as compared to the mass of Jupiter, radius compared to the radius of Jupiter, and the distance that the planet is to its host star (semi-major axis) as compared to the distance from the Sun to the Earth (1 AU). These are all pulled from the database itself.

Beneath the graph and the controls, there's a table explaining some of the vocabulary words and the units used in the scatterplot. This is meant as a very basic introduction to some of the concepts covered here.

Ask yourself some questions

I decided to pose a few questions and set the initial conditions for someone who might not know where to start when exploring the exoplanet data. The questions and graphs are meant to help users with graph interpretation and give them a starting point.

The planet and star animation in the upper right hand corner doesn't do anything except look pretty cool. I had a lot of fun learning about CSS animation!

Here's a video walkthrough