【发布时间】:2018-01-28 15:43:04
【问题描述】:
我有一个主要在 ggplot2 中制作的条形图。我想在 x 轴下方添加两条垂直线和一些文本。
#Load data
d <- structure(list(author = structure(c(1L, 2L, 4L, 3L, 5L, 6L, 8L, 11L, 13L, 12L, 10L, 9L, 7L), .Label = c("Bahr et al", "Fuller et al", "Garbossa et al", "Gokhale et al", "Iuchi et al", "Lee et al", "Lee Y et all", "Merrel et al", "Newton et al", "Rossetti et al", "Usery et al", "Wychowski et al", "Zachenhofer et al"), class = "factor"), nAE = c(-22L, -34L, -158L, -90L, -70L, -41L, -48L, -32L, -73L, -23L, -25L, -13L, -46L), AE = c(3L, 1L, 7L, 1L, 3L, 10L, 3L, 6L, 3L, 5L, 4L, 6L, 5L), SAE = c(0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 2L, 0L, 2L, 0L, 0L)), .Names = c("author", "nAE", "AE", "SAE"), class = "data.frame", row.names = c(NA, -13L))
我的条形图代码:
library(dplyr)
library(tidyr)
library(ggplot2)
categories <- c("Adverse Effect", "No adverse effects", "Severe side effects")
cols <- c("#f6766d", "#01bfc4", "orange")
q <- d %>%
gather(key, value, -author) %>%
ggplot(aes(author, value, fill = key)) +
geom_col(alpha=0.9) +
scale_x_discrete(name="Author") +
scale_y_continuous(name="Number of observations", limits=c(-160,15),
seq(-160, 15, by=10)) +
theme_grey() +
theme(legend.position = "top") +
scale_fill_manual(labels = categories, values = cols) +
labs(fill = "")
我在下面附上了一张我希望我的条形图看起来如何的图片。如您所见,我添加了两条垂直线(随机位置)和三个文本(在 Photoshop 中)。
提前致谢, C.
【问题讨论】:
-
或者,如果您不想要构面,请尝试
geom_vline,如SO answer 并与geom_text一起玩。