我输入的csv文件("genus_counts.csv")的前几行如下所示

Sample,Woeseia,Candidatus_Nitrosopumilus,Nitrospira,Nitrospina,Pseudahrensia,AqS1,Salinicola,Pir4_lineage,Subgroup_10,BD1-7_clade,Sva0996_marine_group,Anoxybacillus,Others,Unclassified
BW1,1.73959,0.474433,0,1.15973,0,0,3.32103,0,0,0,0,8.69794,27.464423,57.1429
BW2,0.424628,0.679406,0,0,0,0,9.95754,0,0.191083,0,1.18896,0,35.7749522,51.7834

我打算在此基础上制作一个堆积条形图.我try 了下面的R代码,但图例上的名字仍然有下划线.我引入了第pcm %>% rename_all(~gsub("_", " ", .))行,以便用空格替换所有下划线,但图例上没有任何更改(下划线仍保留在绘图中!).这里的任何帮助都将不胜感激.

library(ggplot2)
library(reshape2)
pc = read.csv("genus_counts.csv", header = TRUE)
pcm = melt(pc, id = c("Sample"))
pcm$Sample <- factor(pcm$Sample,levels=unique(pcm$Sample))
pcm %>% rename_all(~gsub("_", " ", .))
mx = ggplot(pcm, aes(x = Sample, fill = variable, y = value)) + 
    geom_bar(stat = "identity", colour = "black") + 
    theme(axis.text.x = element_text(angle = 90, size = 14, colour = "black", vjust = 0.5, hjust = 1, face= "bold"), 
    axis.title.y = element_text(size = 16, face = "bold"), legend.title = element_text(size = 16, face = "bold"), 
    legend.text = element_text(size = 12, face = "bold", colour = "black"), 
    axis.text.y = element_text(colour = "black", size = 12, face = "bold")) + 
    scale_y_continuous(expand = c(0,0)) + 
    labs(x = "", y = "Relative Abundance (%)", fill = "Taxon") + 
    scale_fill_viridis_d(option="plasma")
mx

推荐答案

rename_all用于更改函数的列名.在您创建了dataframe之后,变量不再是列名,而是variable列的值.

因此,您可以在melt步之前使用rename_all,也可以在融化数据帧后替换mutate语句中的值.

library(dplyr)
library(ggplot2)

pcm %>%
  mutate(variable = gsub("_", " ", variable)) %>%
  ggplot(aes(x = Sample, fill = variable, y = value)) + 
  geom_bar(stat = "identity", colour = "black") + 
  theme(axis.text.x = element_text(angle = 90, size = 14, 
          colour = "black", vjust = 0.5, hjust = 1, face= "bold"), 
        axis.title.y = element_text(size = 16, face = "bold"), 
          legend.title = element_text(size = 16, face = "bold"), 
        legend.text = element_text(size = 12, face = "bold", colour = "black"), 
        axis.text.y = element_text(colour = "black", size = 12, face = "bold")) +
  scale_y_continuous(expand = c(0,0)) + 
  labs(x = "", y = "Relative Abundance (%)", fill = "Taxon") + 
  scale_fill_viridis_d(option="plasma")

enter image description here

R相关问答推荐

如何计算具有NA的行的更改百分比

R:随机抽取所有可能排列的样本

基于2行删除重复项指定每列要执行的操作

保存shiny 的代码嗅探器:避免$ Symbol问题

将一个载体的值相加,直到达到另一个载体的值

为什么当我try 在收件箱中使用合并功能时会出现回收错误?

在位置周围设定一个半径并识别该半径内的其他位置

用derrr在R中查找组间的重复项

gt()从gt为相同内容的单元格 colored颜色 不同?

将数据集中的值增加到当前包含的最大值

如何在geom_col中反转条

R中1到n_1,2到n_2,…,n到n_n的所有组合都是列表中的向量?

根据1个变量绘制 colored颜色 发散的 map ,由另一个变量绘制饱和度,ggplot2不工作

将标识符赋给事件序列,避免错误观察

在gggraph中显示来自不同数据帧的单个值

删除数据帧中特定行号之间的每第三行和第四行

用多边形替换地块点

按两个因素将观测值分组后计算单独的百分比

R中的Desolve:返回的导数数错误

Data.table::Shift type=允许扩展数据(&Q;LAG&Q;)