这个问题的答案很简单。你必须添加
geom_hline
geom_bar
geom_vline
在你的例子中是有意义的,因为x轴上的变量不是数字。
geom_hline(yintercept = seq(0, 1, by = 0.25), colour = "grey90", size = 0.2)
整个代码如下所示:
perc_df <- data.frame(id = c(125, 126, 127, 128, 129, 130),
percentile = c(0.50, 0.75, 0.99, 0.27, 0.12, 0.66))
library(ggplot2)
ggplot(perc_df, aes(id)) +
geom_hline(yintercept = seq(0, 1, by = 0.25), colour = "grey90", size = 0.2) +
geom_bar(aes(weight = percentile, fill = ..count..),
width = 1, ) +
scale_y_continuous(limits = c(0, 1),
breaks = seq(0, 1, 0.25),
expand = c(0, 0)) +
scale_fill_gradient2(low = "red", mid="yellow", high = "green",
limits = c(0, 1), midpoint = 0.5,
guide = "colourbar") +
coord_polar(theta = "x", start = 2.6) +
guides(fill = FALSE) +
theme_bw() +
theme(axis.title = element_blank(),
panel.border = element_blank(),
legend.key = element_blank(),
axis.ticks = element_blank(),
axis.text = element_blank(),
panel.grid = element_blank(),
plot.title = element_text(lineheight = 0.8, face = "bold",
hjust = 0.5))
它生成如下图: