Using logarithmic y-axis (density) in a histogram
On 3/8/2007 8:10 AM, david.bolius at art.admin.ch wrote:
Hi,
I am searching for a possibility to display a logarithimic y-axis in a histogram. With plot that's easy (e.g.
plot(1:10, log="y")
but for histograms this does not work the same way: I tried
hist(rnorm(1000), freq=FALSE, seq(-4, 4, .5), ylim=c(0.001, 0.5), log="y")
Which gives the expected histogram but also warnings for my log="y" command (""log" is not a graphical parameter in: axis(side, at, labels, tick, line, pos, outer, font, lty, lwd, ") and no logarithmic y-axis. Any ideas how to achieve that, I couldn't find anything?
I'd say from a graphical perspective it doesn't make sense to use a bar chart for a histogram on a log scale (where should the base of the bars go?), but if you really want to, you could do it by calling hist() with plot=FALSE, and building it yourself using the "histogram" object that is returned. For example, x <- rnorm(10000) h <- hist(x, breaks="Scott", plot=FALSE) plot(h$mids, h$density, log="y", type='b') Duncan Murdoch