ggplot+geom_bar

data type:

library(tidyverse)
df <-read.csv("spikenum.csv",header = T,sep = ',')
head(df)
ggplot(df,aes(x=x,y=heritability,fill=variable))+geom_bar(position="dodge",stat="identity")+
  theme_classic()+
  theme(
    axis.text = element_text(size=12),axis.title=element_text(size=12),
    legend.title = element_blank(),
    axis.title.x = element_blank()
    )+
  labs(title="spikenum")+
  scale_y_continuous(expand = c(0,0))  ##去掉距离x轴的空隙
ggsave("spikenum.png",width = 5,height=4)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
data<-melt(mydata,id.vars = 'ID') p <- ggplot(data=data,aes(ID,value,fill=variable)) + geom_bar(stat="identity",position="stack", color="#f0f0f0", width=1,size=0.20) + scale_fill_manual(values=c("#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99", "#e31a1c","#fdbf6f","#ff7f00","#cab2d6", "#6a3d9a","#ffff99","#ffed6f","#ccebc5", "#bc80bd","#d9d9d9","#fccde5","#b3de69", "#fdb462","#80b1d3","#fb8072","#8dd3c7", "#fdb222","#92b1d0","#fb8098","#9dd3c7")) p+labs(x = "", y = "") + #scale_x_continuous(breaks = seq(min(data$ID), max(data$ID), by = 1)) + # Add this line scale_y_continuous(expand = c(0,0),limits = c(0,100),breaks = seq(0, 100, by = 20)) + theme_classic() + theme( panel.background = element_rect(fill="white", colour="white", size=0.25), axis.line = element_line(colour="black", size=0.5), axis.title = element_text(size=13, color="black"), axis.text = element_text(size=12, color="black"), legend.position = c(1.15, 0.5), #修改图例位置 legend.text = element_text(size =10), aspect.ratio = 1, # set figure size to 8x6 inches plot.title = element_text(size = 10), # optional, add a title axis.text.x = element_text(angle = 45, hjust = 1), # Rotate x-axis labels by 45 degrees legend.box.spacing = unit(0.01, "cm"), # 设置图例中每个元素的间距 #legend.key.width = 0.5, # 缩小图例颜色方块的宽度 legend.background = element_blank() # 设置图例背景为透明 ) + guides(fill = guide_legend(ncol = 1,title="Bac_Phylum")) 修改脚本,图片中顺序与数据顺序一致
06-01
你可以尝试以下修改脚本,使得图片中的顺序与数据顺序一致: ``` library(dplyr) library(ggplot2) # 对数据进行排序,根据 value 和 variable 列进行升序排序 mydata <- arrange(mydata, value, variable) # 将数据进行 melt 操作 data <- melt(mydata, id.vars = 'ID') # 修改颜色顺序与 Bac_Phylum 列中因子的顺序一致 my_colors <- c("#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99", "#e31a1c","#fdbf6f","#ff7f00","#cab2d6", "#6a3d9a","#ffff99","#ffed6f","#ccebc5", "#bc80bd","#d9d9d9","#fccde5","#b3de69", "#fdb462","#80b1d3","#fb8072","#8dd3c7", "#fdb222","#92b1d0","#fb8098","#9dd3c7") my_colors <- my_colors[match(levels(factor(data$variable)), levels(factor(mydata$Bac_Phylum)))] # 绘制堆叠条形图 p <- ggplot(data = data, aes(ID, value, fill = variable)) + geom_bar(stat = "identity", position = "stack", color = "#f0f0f0", width = 1, size = 0.20) + scale_fill_manual(values = my_colors) + # 修改颜色顺序 labs(x = "", y = "") + scale_y_continuous(expand = c(0,0), limits = c(0,100), breaks = seq(0, 100, by = 20)) + theme_classic() + theme(panel.background = element_rect(fill = "white", color = "white", size = 0.25), axis.line = element_line(colour = "black", size = 0.5), axis.title = element_text(size = 13, color = "black"), axis.text = element_text(size = 12, color = "black"), legend.position = c(1.15, 0.5), legend.text = element_text(size = 10), aspect.ratio = 1, plot.title = element_text(size = 10), axis.text.x = element_text(angle = 45, hjust = 1), legend.box.spacing = unit(0.01, "cm"), legend.background = element_blank()) + guides(fill = guide_legend(ncol = 1, title = "Bac_Phylum")) # 输出绘制的图形 p ``` 需要注意的是,这段修改后的脚本并没有测试过,如果有错误请及时修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值