Visualizing CitiBike Share Station Data

CitiBike Share launched yesterday. I finally got my fob activated, but since its raining, I haven’t had a chance to take the bikes out for a spin, so I decided to take their data for a spin instead.

Jer RT’d Chris Shiflett’s link to the CitiBike Share JSON data:

asking for a “decent visualization” within half an hour:

So I fired up R and after a couple of minutes of JSON-munging, threw together this graph plotting the # of available bikes per station against the total number of docks of that station:

Not surprisingly, there’s a positive correlation with the number of docks a station has and the number of bikes available for that station.

But some of the outliers represent stations that are popular and have fewer bikes available, places where CitiBike Share might consider adding capacity. For example, East 33rd street and 1st avenue had 60 total docks, but 0 available bikes.

In contrast, stations like Park Place & Church Street (middle of the graph) lie on the identity line and represent stations with close (or exactly) 100% available bikes for their docks. They may be examples of over-provisioned stations.

I also colored the name of the station based on its latitude to give for a very rough proxy for how “downtown” the station was. This glosses over the fact that Brooklyn has a downtown which is distinct from what people normally consider NYC’s downtown, but is interesting to note that some uptown stations (lighter blue) appear to cluster towards the right of the graph indicating uptown stations have been granted more total docks overall. More space in midtown I guess.

I’m not proud of the R code I used to hack this together, but I spent about 10 minutes on it:

1 comment
  1. We built a visualization for Tel Aviv’s municipal bike service (django, d3, tempodb, mapbox, tilemill, tilestache, etc.): (warning: hebrew).

    It looks like you have the same kind of data we have. If you want to have a chat about what we did, gimme a ping! We learned a lot while making it. @idangazit.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.