Как отметил Ник Ларсен, проблема не в том, что нижние полосы выпадают с фигуры;это то, что некоторые столбцы на графике не отображаются, когда размеры и разрешение изображения установлены по умолчанию.Необходимость такого поведения является очевидным примером принципа голубиных отверстий (если мои столбцы были голубями, а пиксели - отверстиями).reprex
использует knitr
под капотом для создания вывода уценки и предлагает синтаксис для изменения этих ограничительных значений по умолчанию с помощью уценки параметры чанка (см. Другие примеры здесь ):
reprex({
#+ setup, include = FALSE
knitr::opts_chunk$set(fig.width = 4, fig.height = 6, dpi = 200, warning = FALSE)
#+ actual-reprex-code
#{INSERT CODE HERE}
}, venue = 'so')
Если параметры фигуры определены выше, для моей фигуры будет 1200 пикселей по вертикали, что достаточно для размещения 400 баров и окружающей области диаграммы.Подставляя пример кода из вопроса для {INSERT CODE HERE}
, мы получаем требуемый вывод reprex
с примененными параметрами блока кода knitr
:
library(babynames)
library(dplyr)
library(ggplot2)
data("babynames")
bn <- babynames %>%
filter(year == 2015) %>%
arrange(-n) %>%
head(400) %>%
mutate(highlight = ifelse(n > 12000, TRUE, FALSE)) %>%
arrange(name)
breaks <- bn %>% filter(highlight == TRUE) %>% pull(name)
ggplot(bn, aes(x = name, y = n, fill = highlight)) +
geom_col() +
scale_x_discrete(breaks = breaks)+
coord_flip() +
theme_classic()
Создано в 2018-09-21 пакетом Представить (v0.2.1)