Inspired by this I created a similar visualization in Tableau that achieves a similar, albeit less impressive, effect.
I used this particular piece as guidance for my design.
To create the individual analog clocks I used a similar approach
to what I did to create the gauge charts. I plotted 60 points, one for each
minute, along the perimeter of a circle. This created an X and Y
coordinate for every minute. The formula I used in Excel to create these points
was the following:
- X1 =
1 + SQRT(2) × SIN(A1 × PI() / 180)
- Y1 =
1 + SQRT(2) × COS(A1 × PI() / 180)
Where A represents an angle
between 0 and 360 at intervals of 6 or 360/60.
In order to create a
digital clock I need 24 individual clocks or 6 clocks each for each of the 4 digits. I created the following layout for the individual analog clocks to create the digital clock.
I then manually determined the necessary orientation of the minute hand and the
hour hand in order to create the look of a digital number. For example, the upper left corner of the digit zero (clocks 1, 7, 13, and 19) requires the
minute hand at 6 and the hour hand at 3 to create the effect of a corner. The following is the layout for all 24 clocks and 10 digits.
So for each of the 24 analog clocks and 10 digits (0-9) an X
and Y point is calculated in Excel using the formulas above. For digits with extra spaces (1 for example)
I visualize an analog clock with the actual time.
Once the data is set up in Excel and you need
to create the analog clock in Tableau. Each analog clock is essentially a gauge chart with
two arms. The chart in Tableau is a scatter plot. For a given hour or minute
two points are placed along the circumference based on the X (column shelf) and Y (row shelf) calculated above. There is also a fixed point in the center. The arm connecting
the point at the center of the clock and the circumference points is visualized
using the path shelf. A background image made to look like a clock
face is also added.
Each of the 24 analog clocks are arranged in a 3 X 8 grid to look
like a digital clock. Finally, to calculate the current hour or minute
digit every time the file is loaded I used the NOW() function in Tableau.
Hope this interesting. Post any questions in the comments above.
- Adam