gpt4 book ai didi

r - 如何根据 tidy data.frame 提供的值在 ggplot 中的标题中添加文本

转载 作者:行者123 更新时间:2023-12-02 06:12:12 25 4
gpt4 key购买 nike

我有以下数据框:


df <- structure(list(some_score = c(0.159908755191963, 0.191316882518594, 0.505115802144402, 
0.137543374720433, 0.00611518542460786, 0.17817657028984, 0.184484678282946,
0.389765901467282, 0.240839237211809, 0.00673361274812246), crt = c(0.137543374720433,
0.137543374720433, 0.137543374720433, 0.137543374720433, 0.137543374720433,
0.17817657028984, 0.17817657028984, 0.17817657028984, 0.17817657028984,
0.17817657028984), sr = c(0.374378046673855, 0.374378046673855, 0.374378046673855,
0.374378046673855, 0.374378046673855, 0.115542340010558, 0.115542340010558,
0.115542340010558, 0.115542340010558, 0.115542340010558), sample = structure(c(1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L), .Label = c("Sample1", "Sample2"), class = "factor"),
celltype = c("B", "Mac", "NK", "Neu", "Stro", "B", "Mac", "NK", "Neu", "Stro")),
.Names = c("some_score", "crt", "sr", "sample", "celltype"), row.names = c(NA,
10L), class = "data.frame")
df
#> some_score crt sr sample celltype
#> 1 0.159908755 0.1375434 0.3743780 Sample1 B
#> 2 0.191316883 0.1375434 0.3743780 Sample1 Mac
#> 3 0.505115802 0.1375434 0.3743780 Sample1 NK
#> 4 0.137543375 0.1375434 0.3743780 Sample1 Neu
#> 5 0.006115185 0.1375434 0.3743780 Sample1 Stro
#> 6 0.178176570 0.1781766 0.1155423 Sample2 B
#> 7 0.184484678 0.1781766 0.1155423 Sample2 Mac
#> 8 0.389765901 0.1781766 0.1155423 Sample2 NK
#> 9 0.240839237 0.1781766 0.1155423 Sample2 Neu
#> 10 0.006733613 0.1781766 0.1155423 Sample2 Stro

这是绘图代码:

tableau10 <- c("#17BECF", "#BCBD22", "#7F7F7F", "#CFECF9", "#8C564B", "#9467BD", "#D62728", "#2CA02C", "#FF7F0E", "#1F77B4" )
ggplot(df, aes(x=celltype,y=some_score, fill=celltype)) +
geom_bar(stat="identity") +
scale_fill_manual(values=tableau10) +
geom_hline(aes(yintercept=crt), colour="red", linetype="dashed") +
theme_minimal(base_size=20) +
theme(strip.background=element_blank(),strip.text = element_text(size=10)) +
theme(legend.title=element_blank()) +
theme(axis.text.y=element_text( hjust=1,size=10)) +
facet_wrap(~sample)

这产生了这个情节:enter image description here

如图所示,我想使用 ggtitle 来合并 df< 中的 srcrt 列中的值。我怎样才能做到这一点?

最佳答案

非常基本的解决方案。您可以自己添加 CRT (抱歉现在没有那么多时间)...

ggplot(df, aes(x=celltype,y=some_score, fill=celltype)) + 
geom_bar(stat="identity") +
scale_fill_manual(values=tableau10) +
geom_hline(aes(yintercept=crt), colour="red", linetype="dashed") +
theme_minimal(base_size=20) +
theme(strip.background=element_blank(),strip.text = element_text(size=10)) +
theme(legend.title=element_blank()) +
theme(axis.text.y=element_text( hjust=1,size=10)) +
facet_wrap(~paste(as.character(sample), paste("SR = ",round(df$sr,2) )))

enter image description here

通过@Jimbou(贴标签者)的想法,结果也非常好

facet_wrap(~sample+crt+sr, 
labeller = labeller(crt=label_both, sr = label_both, .multi_line = F))

你会得到

enter image description here

关于r - 如何根据 tidy data.frame 提供的值在 ggplot 中的标题中添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43758052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com