An Orbit Map of the Solar System


This week’s map shows the orbits of more than 18000 asteroids in the solar system. This includes everything we know of that’s over 10km in diameter - about 10000 asteroids - as well as 8000 randomized objects of unknown size. This map shows each asteroid at its exact position on New Years’ Eve 1999.

All of the data for this map is shared by NASA and open to the public. However, the data is stored in several different databases so I had to do a decent amount of data cleaning. I’ve explained all of the steps in detail in my open-source code and tutorial, so I’ll just include a sketch of the process here in this blog post:

One of the most challenging parts of this map was figuring out how to make everything legible. It turns out that things in the solar system are distributed somewhat logarithmically. There are exponentially more things closer to the sun, and exponentially more smaller things than big things. So I used a radial logarithmic scale to include large things, far-away things, and tiny, nearby things on the same map. Logarithmic maps aren’t particularly common, but in this case I figured it was ok since no one would use this map for navigation.

For this map I used the NASA HORIZONS server to generate orbit paths centered around the sun. But HORIZONS can also generate orbits centered around anywhere else. From left to right, these rosettes show the surprisingly beautiful paths of Mercury, Venus, Mars, Jupiter, Saturn, and Uranus as seen from Earth. Venus in particular has been described through history as the Pentagram of Venus or the Rose of Venus.

In a dataset of this size, there were so many exceptions that I designed this map using design “guidelines” rather than rules. For example, at first I wanted to map each asteroid with an orbit tail reaching back 10 years. But many asteroids didn’t have enough data, and the inner asteroids moved so fast that the map was illegible from overlapping lines. So in the end the asteroid tails reach back to the last possible data point, or 10 years, or a quarter of the object’s orbit - whichever is smallest.

The name labels are also fairly arbitrary. I tried to label all the largest and most important asteroids, like the ones we’ve investigated with spacecraft. I also included every named object in the outer solar system because this data is pretty sparse. Since I didn’t have room for all the rest, I picked out my personal favorites, like Moomintroll, O’Keefe, and Sauron. Sadly there was no asteroid named Eleanor, but you can find out if your own name is an asteroid by searching the JPL Small-Body Database Browser.

Some early Python experiments on visualizing orbital paths. In these drafts I used data from the moons of Neptune, Jupiter, and Saturn, because a few dozen moons are much easier to manage than several thousand asteroids. Although I didn’t end up using the code, I still really like the orbit ribbon diagram (the ribbon thickness shows the orbit movement in the z axis).

One last fun fact about this map - you might notice that Pluto is shown inside Neptune’s orbit. It turns out that about 10% of the time, Pluto is actually closer to the sun than Neptune. On 12/31/99 Pluto is further away, but it appears closer here because Neptune’s orbit tail reaches back in time to a point when it was closer to the sun. (I actually didn’t know about this before the project, so I spent a long time trying to find the bug in the code before finally realizing that the map was working as it should).

post.title

An Atlas of Space

June 3 2019


I’m excited to finally share a new design project this week! Over the past year and a half I’ve been working on a collection of ten maps on planets, moons, and outer space. To name a few, I’ve made an animated map of the seasons on Earth, a map of Mars geology, and a map of everything in the solar system bigger than 10km.

Over the next few weeks I want to share each map alongside the open-source Python code and detailed tutorials for recreating the design. All of the astronomy data comes from publicly available sources like NASA and the USGS, so I thought this would be the perfect project for writing design tutorials (which I’ve been meaning to do for a while).

I’m still working on finishing all of the tutorials (there’s a lot of information I want to cover!). But here’s a list of everything I’m planning to talk about for sure: Working with Digital Elevation Models (DEMs) in Bash and Python. Working with ESRI shapefiles in Python. Using the NASA HORIZONS orbital mechanics server and scraping internet data. Working with NASA image data. Combining many datasets into one map. Color palettes and style design. Updating vintage illustrations and painting in Photoshop. Plotting with symbols and different languages in Matplotlib. Editing Python outputs in Illustrator. Using the IAU Gazetteer of Planetary Nomenclature. Map projections in Python Cartopy. Mapping constellations using star catalog data.

I originally learned Python for my grad school research, which involved processing video recordings of mosquito behavior. I really liked the language, and in the past few years I’ve been using Python extensively for data management and design. I also love teaching Python (I volunteer for Software Carpentry, and I taught Data Science for Biologists at UW last year with Bing Brunton and Kam Harris). So if you’re interested in beginner-friendly explanations of Python cartography, web scraping, or using the NASA orbital mechanics server, check back here next week for the first map tutorial! Up next week - A map of everything in the solar system bigger than 10km.

An Atlas of Space

A galaxy of molecules


This week’s infographic is a metabolic map - a diagram of the chemical reactions that turns food into energy. The “galaxy of molecules” illustrates only a small fraction of the full metabolic map, but it includes some of the most common pathways taught in undergrad biochemistry or medical school. The project brief was to collect each of these major pathways into one resource that could serve as both a study guide and decorative poster.

I have a hard time picturing very small things (like molecules) and very large things (like galaxies), so I’ve always felt that they occupy a similar conceptual place in my head. I thought it would be fun to play off of that idea and illustrate extremely small molecules in the visual style of extremely large star clusters.

I actually designed this almost two years ago as one of my first collaborations with Nerdcore Medical. So this was a good opportunity to publish something with a few year’s worth of perspective. I think if I were to redo this poster today I’d try to add a little more distinction between each atom in the key. It’s difficult to make something visually interesting as well as easy to understand, and I think this particular style might have fallen too far on the visual side. But still, this is probably the most scientifically challenging infographic I made for Nerdcore Medical, and I’m happy with how it turned out.

  • Sources

  • Thank you to Tyler Smith, PhD student in the Department of Molecular Biophysics and Biochemistry (Yale University), for fact-checking the finished infographic.
  • Reference texts: First Aid for the USMLE Books 1 & 2 (2015), Tao Le and Vikas Bhushan. © 2014 McGraw-Hill Education. Organic Chemistry, 8th Edition, Francis A. Carey and Robert M. Giuliano. © 2011 by the McGraw-Hill Companies Inc.
  • Fonts: Quicksand Bold and Regular, by Andrew Paglinawan.
post.title