从ggplot2箱线图中删除下划线

问题描述 投票:0回答:1

我想从我的ggplot2箱线图中删除下划线(填充“fungicide_treatment”的头部)。我已经尝试更改我的excel数据文件中的列头,并且我已经尝试过函数 labels = ~ gsub("_" ,“”,.x)在我的代码的scale_fill部分。这两次试验中下划线并没有消失。也许我将gsub函数放在代码中的错误位置? 这是我的箱线图:enter image description here 这是我在 R 中的 gglpot2 代码:

ggplot(df3, aes(x = Drechslera_treatment, y = 丰度, fill=Fungicide_treatment)) + geom_boxplot(lwd=0.1)+ xlab("Drechslera处理") + ylab("未知真菌丰度/植物")+ scale_fill_manual(values=c("#90EE90", "#228822"))+ theme_linedraw()+theme_bw()+ 主题(axis.text.x = element_text(size=07), axis.text.y = element_text(size=14))+ 主题(axis.title.x = element_text(size = 14,face =“bold”),axis.title.y = element_text(size = 14,face =“bold”))+ facet_grid(, vars(品种))

我将非常感谢您提供一些解决该问题的提示。祝大家有个美好的夜晚!来自慕尼黑的问候。 Stephan Grassl,陆地生态学,慕尼黑

ggplot2 underscore.js boxplot fill
1个回答
0
投票

一种可能的解决方案是使用这样的代码重命名您的列

colnames(data)[colnames(data) == "Old_Name"] <- "New_Name"
,然后在 ggplot 中引用它时使用反引号

所以对于你的数据来说是:

colnames(df3)[colnames(df3) == "Fungicide_treatment"] <- "Fungicide treatment"


ggplot(df3, aes(x = Drechslera_treatment, y = Abundance, fill=`Fungicide treatment`)) + 
    geom_boxplot(lwd=0.1)+ 
    xlab("Drechslera treatment") + 
    ylab("Unidentified fungi abundance / plant")+ 
    scale_fill_manual(values=c("#90EE90", "#228822"))+ 
    theme_linedraw()+theme_bw()+ 
    theme(axis.text.x = element_text(size=07), axis.text.y = element_text(size=14), axis.title.x = element_text(size=14, face="bold"), axis.title.y = element_text(size=14, face="bold"))+ 
    facet_grid(, vars(Cultivar))

或者,按照 mikeck 评论中的建议,您可以使用

scale_fill_manual()
函数更改图例标题,如下所示:

ggplot(df3, aes(x = Drechslera_treatment, y = Abundance, fill=Fungicide_treatment)) + 
    geom_boxplot(lwd=0.1)+ 
    xlab("Drechslera treatment") + 
    ylab("Unidentified fungi abundance / plant")+ 
    scale_fill_manual("Fungicide treatment", values=c("#90EE90", "#228822"))+ #simply add your legend title here
    theme_linedraw()+theme_bw()+ 
    theme(axis.text.x = element_text(size=07), axis.text.y = element_text(size=14), axis.title.x = element_text(size=14, face="bold"), axis.title.y = element_text(size=14, face="bold"))+ 
    facet_grid(, vars(Cultivar))

© www.soinside.com 2019 - 2024. All rights reserved.