Skip to content

Instantly share code, notes, and snippets.

@jrodgz
Last active March 28, 2016 02:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jrodgz/c9f93985b3400e90313c to your computer and use it in GitHub Desktop.
Save jrodgz/c9f93985b3400e90313c to your computer and use it in GitHub Desktop.
Blog Response 1

#Summary

Time Maps: Visualizing Discrete Events Accross Many Timescales is an essay written by Max Watson that addresses the visualization of discrete events.
This essay is mainly about the use of time maps to visualize discrete event data.
An initial example is presented to illustrate the problem of using histograms to plot discrete event data. The dataset is "website visits by a certain IP over 7 months". The main problem is that the time scale chosen in the plot (month per month), hides trends and details that are impossible to see in the histogram. Because of this the author proposes the use of time maps.

    dt1      dt2
e1 ----- e2 ----- e3
  • Time maps are just two-dimensional scatterplots where the x and y axes plot change in time between events (instead of absoulte time). Consider e2 above.

    • The x coordinate is the time lapse between e1 and e2 (time before event).
    • The y coordinate is the time lapse between e2 and e3 (time after event).
  • And that's it. Because you're plotting change in time, data points towards the top right happen at a slower frequency and those towards the bottom left happen at a faster frequency. The four quadrants of the time map indicate a trend.

    • bottom left: fast and steady event occurrence
    • bottom right: event occurrence starting to speed up
    • top right: slow and steady event occurrence
    • top left: event occurrence starting to slow down

With this arrangement you're able to observe your discrete data between all scales at once. Timelines are no longer an issue because only time between events is plotted. You can observe the behavior of events that happen seconds apart and days apart on the same plot. As I was reading this left me with one big question I wanted answered... Well, what if I actually want to know when an event happened? The author shows the solution for this in the 3 examples presented at the end. He maps absolute time to color! After seeing that I was pretty much sold on time maps. The author concludes by presenting 3 examples and even providing Python code for creating time maps.

  • The first example shows @WhiteHouse tweets on a time map over the course of a day.

    • You can observe the frequency of tweets increase with the occurrence of a major event.
    • You can observe the times of the day during which tweets regularly happen.
    • You can observe when tweets start, and how the frequency of tweets slows down at night.
    • A heated time map (where regions are colored instead of plotting points) is shown where higher densities of points are easier to spot.
  • The second example shows tweets from a personal account.

    • You can observe how these don't stick to a strict schedule like the Whie House account does.
  • The last example is a time map of the first histogram shown.

    • You are immediately able to observe a pattern of activity you couldn't before. Web site visits happen with frequencies of 1ms to 1s. It turns out this is the time map of a bot, and this was not a trend you could observe in the histogram.

The author ends by stressing that time don't replace other time visualizations, but they supplement them. He mentions that visualizations will likely involve a mix of graphics, including time maps. The key idea is that histograms display overall behavior, and time maps allow you to explore your data for trends simultaneously accross multiple time scales, without losing information details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment