【发布时间】:2025-11-29 13:10:01
【问题描述】:
我正在尝试在多面 ggplot 的 x 轴文本的左侧添加一个带有更多信息的文本元素(一次)(不要在每个方面都重复):
到目前为止,我尝试了几种方法都失败了:
- geom_text(出现在图中)
- 注释功能(出现在图中的每个方面)
- axis.title.x(不能随意自定义位置,即x=-1和y=-1或多或少)
- mtext(不适合ggplot)
我的代码:
#1.1 create labels for x-axis:
cfutypes_labels <- c("native\n-\n-", "native\n-\n+",
"aliquot\n-\n-", "aliquot\n-\n+",
"aliquot\n+\n-", "aliquot\n+\n+")
names(cfutypes_labels) <- c("no.0.native", "yes.0.native",
"no.0.aliquot","yes.0.aliquot",
"no.20.aliquot", "yes.20.aliquot")
extra_axis <- c("storagetype\nglycerol\nfreeze-thaw-cycle")
#1.2 plotting
plot_t1calc1 <- thawcycles_long %>%
filter(dilution_potency<5,
count >0, cfutype =="cfuperml") %>%
ggplot(aes(x=interaction(thawcycle,
glycerol_content,
storagetype),
y=count,
color=interaction(thawcycle,
glycerol_content,
storagetype))) +
geom_jitter(width=0.2,
alpha=0.8,
show.legend = FALSE)+
stat_summary(geom = "crossbar",
fun = "geometric.mean",
width = 0.3,
show.legend = FALSE)+
scale_y_log10(breaks = trans_breaks("log10", function(x) 10^(x+1)),
labels = trans_format("log10", math_format(10^.x))) +
scale_x_discrete(labels = cfutypes_labels)+
ylab("CFU per mL") +
xlab("")+
facet_grid(~timepoint,
scales="free_x",
space="free")+
theme_minimal()+
theme(panel.background = element_rect(fill = "white"),
# axis.title.x = element_text(hjust = -0.5,
# vjust= 0.9,
# size=9),
axis.line = element_line(color="black",
size=0.2),
strip.text = element_text(face="bold"))
我的数据集的一小部分:
> tibble(thawcycles_long)
# A tibble: 567 x 9
sid timepoint storagetype thawcycle glycerol_content dilution_potency cfutype dotnumber count
<dbl> <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <dbl>
1 4 t0 native no 0 3 dill1_cfu 1 104
2 4 t0 native no 0 3 dill1_cfu 2 83
3 4 t0 native no 0 3 dill1_cfu 3 106
4 4 t0 native no 0 3 cfuperml 1 10400000
5 4 t0 native no 0 3 cfuperml 2 8300000
6 4 t0 native no 0 3 cfuperml 3 10600000
7 4 t0 native no 0 3 auxv_cfuperml 1 10400000
8 4 t0 native no 0 3 auxv_cfuperml 2 8300000
9 4 t0 native no 0 3 auxv_cfuperml 3 10600000
10 4 t0 native no 0 4 dill1_cfu 1 7
有人知道如何解决这个问题吗? 非常感谢!
【问题讨论】:
标签: r ggplot2 text annotations axis-labels