First I let's take a good color for showing impact:
\definecolor{skyblue}{rgb}{0.447,0.624,0.812}
Skyblue color! Cool looking and just nice. There is no problem for including pgfplots and give it some options:
\usepackage{pgfplots}
\pgfplotsset{compat=1.7}
And the most interesting part:
- first (lines
1 and 2) we open axis environment;
- on lines
3-7 we define some general options;
9-11: let opacity be 50 * commits / 1000 + 50;
12-13: defining size of mark as 6.5 * commits / 1000 + 1;
- on lines
14-18 we change size, color and filling of mark.
Finally:
\documentclass{standalone}
\usepackage{mathpazo}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\definecolor{skyblue}{rgb}{0.447,0.624,0.812}
\begin{document}
\begin{tikzpicture} %1
\begin{axis}[ %2
grid=major, %3
point meta=explicit,
xmin=-1,
xmax=24,
xlabel=Hours, %7
scatter/@pre marker code/.code={
\pgfmathparse{ %9
\pgfplotspointmetatransformed/1000*50+50} %10
\let\opacity=\pgfmathresult %11
\pgfmathparse{ %12
\pgfplotspointmetatransformed/1000*6.5+1} %13
\def\markopts{ %14
mark=*, %15
color=skyblue!\opacity, %16
fill=skyblue!\opacity, %17
mark size=\pgfmathresult} %18
\expandafter\scope\expandafter[\markopts]},
scatter/@post marker code/.code={
\endscope},
symbolic y coords={Sunday,Saturday,Friday,Thursday,Wednesday,Tuesday,Monday},
xtick={0,...,23},
x=0.6cm,
y=0.6cm]
\addplot[only marks,scatter]
table[x index=0, y index=1, meta index=2] {punchcard.dat};
\end{axis}
\end{tikzpicture}
\end{document}
And the result:
