R:普通分组柱状图

输入文件实例(存为csv格式)

library(ggplot2)
library(ggbreak)

# 从CSV文件中读取数据
setwd("C:/Users/fordata/Desktop/研究生/第二个想法(16s肠型+宏基因组功能)/第二篇病毒组/result/otherDB")
data <- read.csv("fetal.csv")

# 自定义颜色
my_colors <- c("Novel" = "#EA8379", "Partily" = "#456990", "Identical" = "#48C0AA")
data$DB <- factor(data$DB, levels = c("GVD", "IGVD", "NEXT_PILOT", "RVD", "URPC", "IMG/VR4"))
# 创建分组的柱状图
p <- ggplot(data, aes(fill=factor(Level, levels=c("Novel", "Partily", "Identical")), y=Count, x=DB)) + 
  geom_bar(position="dodge", stat="identity", colour="gray", width=0.9) + 
  scale_fill_manual(values=my_colors, name="Level") +
  theme_minimal() +
  theme(axis.text.x = element_text(size=12),
        axis.text.y = element_text(size=12),
        legend.text = element_text(size=12),
        legend.title = element_text(size=12)) + 
  labs(x="", y="") +
  scale_y_break(c(3, 6), scales="free")  # 截断,使得长的柱子不要太长

# 在每个柱子上面添加数据标签
p <- p + geom_text(aes(label=Count), vjust=0.5, position=position_dodge(0.9), size=3)

# 保存图像,并设置图像的宽度和高度
ggsave("2my_plot.pdf", plot = p, width = 8, height = 4)

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-14 05:34:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-14 05:34:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-14 05:34:02       82 阅读
  4. Python语言-面向对象

    2024-04-14 05:34:02       91 阅读

热门阅读

  1. 自动驾驶仿真测试的难点

    2024-04-14 05:34:02       38 阅读
  2. 【架构-11】SOA和微服务?

    2024-04-14 05:34:02       31 阅读
  3. C语言游戏实战(8):飞机大作战

    2024-04-14 05:34:02       34 阅读
  4. ip addr和ifconfig区别

    2024-04-14 05:34:02       42 阅读
  5. 从零开始写一个RTSP服务器(二)RTSP协议的实现

    2024-04-14 05:34:02       37 阅读
  6. 设计模式|装饰器模式(Decorator Pattern)

    2024-04-14 05:34:02       42 阅读
  7. 如何使用GitLab构建Docker镜像并托管Docker镜像仓库

    2024-04-14 05:34:02       38 阅读
  8. 记录一个腾讯云上kafka不能正常启动问题

    2024-04-14 05:34:02       44 阅读