#r #ggplot2
#r #ggplot2
Вопрос:
(Редактировать: теперь отправлено как выпуск ggplot2 # 4183.)
Я не уверен точно, какие условия вызывают это, но вот довольно маленький пример, полученный из реального графика, над которым я работал, когда столкнулся с этим:
library(ggplot2)
d = data.frame(x = seq(0, 2, len = 2500))
d$y = d$x^2
ggsave("~/plot.png", width = 3, height = 4, dpi = 90,
ggplot(d)
geom_col(aes(x, y), width = max(diff(d$x)))
theme_bw()
theme(
panel.border = element_blank(),
panel.grid = element_blank(),
axis.text.y = element_blank(),
axis.ticks.y = element_blank()))
С ggplot2 3.3.2 на R 3.6.2 в Linux я получаю это:
Как мне надежно избежать получения вертикальных белых линий, подобных той, что примерно на x = 0,8 выше?
Комментарии:
1. Я запустил ваш код и не получил никаких белых линий. Попробуйте обновить
ggplot2
2. @Duck Но у CRAN нет более новой версии, чем 3.3.2. Вы запускаете предварительный выпуск?
3. Я заметил, что у нас такая же версия
ggplot2_3.3.2
. Единственное, что может вызвать эту проблему, — это конфликт с другими пакетами. Вы можете попробовать повторно запуститьR
и только загрузитьggplot2
и воспроизвести график!4. @Duck Я могу воспроизвести ошибку заново
R --vanilla
.5. Я получаю ту же строку, используя R 4.0.2 из docker image rocker / geospatial
Ответ №1:
ggplot постановил, что это не будет исправлено, но это можно обойти, увеличив ширину чем-то вроде geom_col(aes(x, y), width = max(diff(d$x)) * 1.05, position = "identity")
: