I'm a hobbyist programmer whose friend recently took a business trip overseas. He's polled our mutual friends for bets on the size of his email inbox when he returns. I'd like to visualize this as a one-dimensional heatmap where color reflects a kind of density of guesses for that value. I understand I could create a histogram and find a way to translate its values into color values. However, the histogram bins would create janky transitions in color. Is there a way to create an appropriate, continuous function for prettier output?
1 Answer
$\begingroup$
$\endgroup$
3
Use density and fields::colorbar.plot
require(fields)
plot(1:10, rep(1,10), ylim=c(0,10))
colorbar.plot( 2, 4, 800*density(rgamma(100, shape=2))$y)
colorbar.plot( 2, 5, 800*density(rexp(100))$y)
colorbar.plot( 2, 6, 800*density(rnorm(100))$y)
colorbar.plot( 2, 7, 800*density(rlnorm(100))$y)
text(6,4, "Gamma")
text(6,5, "Exponential")
text(6,6, "Normal")
text(6,7, "LogNormal")
-
$\begingroup$ What programming language/system is this? $\endgroup$– ldrgCommented Oct 25, 2011 at 3:14
-
$\begingroup$ This is done in R. I just assumed anyone who wanted a heatmap would be using R or S, since none of the statistical languages I worked with in the past had that facility, but I guess they may have caught up if your expectation was to get a heatmap implemented in another language. $\endgroup$– DWinCommented Oct 25, 2011 at 12:28
-
1$\begingroup$ The rainbow/jet colormap is generally a bad idea. jwave.vt.edu/~rkriz/Projects/create_color_table/color_07.pdf $\endgroup$– endolithCommented May 30, 2012 at 23:26