本代码使用ggplot2绘制横向小提琴图,并将颜色值匹配自定义颜色变量'colors'。同时,添加平均值点及其性状、大小、颜色,设置主题和x轴标签,以及去除网格线和图例。最后,添加两条虚线(y轴上的0.6和0.3)作为参考线。

ggplot(dataA,aes(cancer,exp,fill=cancer))+ # 传递x轴和y轴,设置变量fill
  geom_violin()+ 
  coord_flip()+ # 变换x轴和y轴位置,小提琴图变为横向
  scale_fill_manual(values = colors)+ # 设置颜色值,匹配自定义颜色变量colors
  stat_summary(fun=mean,geom = "point", # 添加平均值点及其性状、大小、颜色
               shape = 19, size = 2, color = "black")+ 
  theme_bw()+ # 设置主题
  # 添加两条0.6和0.3的虚线
  geom_hline(aes(yintercept=0.6),colour="#565354",linetype="dashed")+ 
  geom_hline(aes(yintercept=0.3),colour="#565354",linetype="dashed")+ 
  xlab('')+ # 设置x轴标签
  ylab('A indicator
indicator A')+ # 设置y轴标签
  theme(panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        axis.text.y =  element_text(size = 12,
                                    face = "bold"),
        legend.title = element_blank(),
        legend.position = 'none')

代码解析:

  • ggplot(dataA,aes(cancer,exp,fill=cancer)): 创建一个ggplot对象,使用数据框dataA,将cancer变量映射到x轴,exp变量映射到y轴,fill变量用于控制填充颜色。
  • geom_violin(): 添加小提琴图层。
  • coord_flip(): 将坐标轴翻转,使小提琴图横向展示。
  • scale_fill_manual(values = colors): 使用colors变量自定义填充颜色。
  • stat_summary(fun=mean,geom = "point", shape = 19, size = 2, color = "black"): 添加平均值点,并设置点的形状、大小和颜色。
  • theme_bw(): 设置主题为黑白主题。
  • geom_hline(aes(yintercept=0.6),colour="#565354",linetype="dashed")geom_hline(aes(yintercept=0.3),colour="#565354",linetype="dashed"): 添加两条水平虚线,用于作为参考线。
  • xlab(''): 设置x轴标签为空。
  • ylab('A indicator indicator A'): 设置y轴标签,使用换行符将标签分成两行。
  • theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), axis.text.y = element_text(size = 12, face = "bold"), legend.title = element_blank(), legend.position = 'none'): 自定义主题,去除网格线、设置y轴文本大小和粗体,隐藏图例标题,并移除图例。

通过以上代码,您可以轻松创建具有自定义颜色、平均值点和参考线的横向小提琴图。

横向小提琴图绘制:使用ggplot2创建带自定义颜色、平均值点和参考线的图形

原文地址: https://www.cveoy.top/t/topic/nJXa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录