Я собрал функцию, которая в случае по умолчанию ведет себя так же, как hist, но принимает аргумент log. Он использует несколько трюков с других постеров, но добавляет несколько своих. hist(x)
и myhist(x)
выглядят одинаково.
Исходная проблема будет решена с помощью:
myhist(mydata$V3, breaks=c(0,1,2,3,4,5,25), log="xy")
Функция:
myhist <- function(x, ..., breaks="Sturges",
main = paste("Histogram of", xname),
xlab = xname,
ylab = "Frequency") {
xname = paste(deparse(substitute(x), 500), collapse="\n")
h = hist(x, breaks=breaks, plot=FALSE)
plot(h$breaks, c(NA,h$counts), type='S', main=main,
xlab=xlab, ylab=ylab, axes=FALSE, ...)
axis(1)
axis(2)
lines(h$breaks, c(h$counts,NA), type='s')
lines(h$breaks, c(NA,h$counts), type='h')
lines(h$breaks, c(h$counts,NA), type='h')
lines(h$breaks, rep(0,length(h$breaks)), type='S')
invisible(h)
}
Упражнение для читателя: К сожалению, не все, что работает с историей, работает с myhist в его нынешнем виде. Это должно быть исправлено с небольшим усилием, хотя.