Изменить внешний вид сюжета, чтобы напоминать историю
Вопрос
Я использовал информацию из этого поста, чтобы создать гистограмму с логарифмической шкалой:Гистограмма с логарифмической шкалой
Тем не менее, выход с графика не похож на вывод Hist. Кто -нибудь знает, как настроить вывод с графика, чтобы напоминать вывод HIST? Спасибо за помощь.
Решение
Упрощенная, воспроизводимая версия связанного ответа
x <- rlnorm(1000)
hx <- hist(x, plot=FALSE)
plot(hx$counts, type="h", log="y", lwd=10, lend="square")
Чтобы оси выглядели более «гистоподобными», замените последнюю линию на
plot(hx$counts, type="h", log="y", lwd=10, lend="square", axes = FALSE)
Axis(side=1)
Axis(side=2)
Получение баров для присоединения будет кошмаром, используя этот метод. Я предлагаю использовать пробные и ошибки со значениями lwd
(В этом примере 34 находится где -то близко к тому, чтобы выглядеть правильно) или научиться использовать lattice
или же ggplot
.
РЕДАКТИРОВАТЬ: Вы не можете установить цвет границы, потому что стержни на самом деле не прямоугольники - это просто толстые линии. Мы можем подделать эффект границы, нарисовав немного более тонкие линии сверху. Обновленный код
par(lend="square")
bordercol <- "blue"
fillcol <- "pink"
linewidth <- 24
plot(hx$counts, type="h", log="y", lwd=linewidth, col=bordercol, axes = FALSE)
lines(hx$counts, type="h", lwd=linewidth-2, col=fillcol)
Axis(side=1)
Axis(side=2)
Другие советы
Как насчет использования ggplot2?
x <- rnorm(1000)
qplot(x) + scale_y_log10()
Но я согласен с комментарием Хэдли в другом посте, что наличие гистограммы со шкалой журнала кажется мне странным =).