横向小提琴图绘制:使用ggplot2创建带自定义颜色、平均值点和参考线的图形
本代码使用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轴文本大小和粗体,隐藏图例标题,并移除图例。
通过以上代码,您可以轻松创建具有自定义颜色、平均值点和参考线的横向小提琴图。
原文地址: https://www.cveoy.top/t/topic/nJXa 著作权归作者所有。请勿转载和采集!