У меня проблема при использовании coord_polar()
вместе с geom_col()
. У меня есть значения в диапазоне от 0 до <360. Допустим, есть шаги по 20, поэтому <code>0, 20, 40... 340. Если я нанесу их с coord_polar()
, у меня есть две проблемы:
- значения 0 и 340 соприкасаются друг с другом и не имеют такой же разрыв, как у других столбцов
- "ось x" немного смещена, так что 0 не указывает на "север"
См. Этот минимальный пример.
suppressWarnings(library(ggplot2))
df <- data.frame(x = seq(0,359,20),y = 1)
ninety = c(0,90,180,270)
p <- ggplot(df, aes(x,y)) +
geom_col(colour = "black",fill = "grey") +
geom_label(aes(label = x)) +
scale_x_continuous(breaks = ninety) +
geom_vline(xintercept = ninety, colour = "red") +
coord_polar()
p
Если я установлю пределы оси X, вращение системы координат будет правильным, но столбец в 0 исчезнет из-за недостатка места.
p+scale_x_continuous(breaks = c(0,90,180,270),limits = c(0,360))
#> Scale for 'x' is already present. Adding another scale for 'x', which
#> will replace the existing scale.
#> Warning: Removed 1 rows containing missing values (geom_col).
Создано в 2019-05-15 с помощью пакета Представить (v0.2.1)