# 清除所有变量
rm(list = ls())
# 设置工作目录
setwd("C:\\Users\\Administrator\\Desktop\\新建文件夹\\Co-occurrence Network\\图例")
# 载入ggplot2包
library(ggplot2)

# 创建一个数据框,包含您想要在图例中展示的颜色和类别
# 确保Category是按照正确的顺序设置为因子类型
legend_data <- data.frame(
  Category = factor(c("Proteobacteria", "Actinobacteria", "Bacteroidetes", "Others", "Fungi"),
                    levels = c("Proteobacteria", "Actinobacteria", "Bacteroidetes", "Others", "Fungi")),
  Color = c("#76B4BD", "#E9C46A", "#88C695", "#F2A2C7", "#89CFF0")
)

# 使用ggplot绘制一个含有圆形图示的图,用于展示图例
ggplot(legend_data, aes(x = 1, y = Category, fill = Category)) + 
  geom_point(shape = 21, size = 5) + # 使用shape 21来绘制带边界的圆形,并设置大小
  scale_fill_manual(values = legend_data$Color) +
  theme_void() + 
  theme(legend.title = element_blank(),
        legend.position = "right", # 可以通过调整此处来更精细地控制图例位置
        legend.text = element_text(size = 12),
        legend.background = element_rect(fill = "white", colour = NA), # 设置图例背景为白色
        legend.key = element_blank(), # 移除图例项背景
        legend.margin = margin(0, 0, 0, 0),
        plot.background = element_rect(fill = "white", colour = NA), # 设置图的背景为白色
        legend.direction = "vertical") # 确保图例以竖排形式显示

# 保存图形到PNG文件
ggsave("legend_plot.png", width = 6, height = 6, dpi = 600)

# 清除所有变量
rm(list = ls())
# 设置工作目录
setwd("C:\\Users\\Administrator\\Desktop\\新建文件夹\\Co-occurrence Network\\图例")
# 载入ggplot2包
library(ggplot2)

# 修改数据框来表示五个圆圈的位置和大小
circles_data <- data.frame(
  x = c(1, 2, 3, 4, 5), # x坐标决定了圆圈的水平位置
  y = c(1, 1, 1, 1, 1), # y坐标使所有圆圈都位于同一水平线上
  size = c(5, 10, 15, 20, 25) # 更新为五个不同的大小值
)

# 使用ggplot绘制圆圈,确保背景为纯白色
ggplot(circles_data, aes(x = x, y = y)) + 
  geom_point(aes(size = size), shape = 21, fill = "black") + # 使用shape 21绘制带边界的圆形
  theme_void() + 
  scale_size_area(max_size = 30) + # 控制圆圈大小的显示
  theme(legend.position = "none", 
        plot.background = element_rect(fill = "white", colour = "white")) + # 设置背景为纯白色
  xlim(0, 6) # 调整x轴的限制以适应五个圆圈

# 如果需要保存图像
ggsave("five_circles.png", width = 6, height = 3, dpi = 600)