ggplot2 | line plot 分组及均值线:聚类后的表达变化趋势图

1. 效果图

2. 预处理及绘图

复制代码
# 输入数据
> head(dat)
  Species cid     variable value
1  setosa   1 Sepal.Length   5.1
2  setosa   2 Sepal.Length   4.9
3  setosa   3 Sepal.Length   4.7
4  setosa   4 Sepal.Length   4.6
5  setosa   5 Sepal.Length   5.0
6  setosa   6 Sepal.Length   5.4


# 预处理及绘图
row.num=nrow(iris)
dat=iris[1:row.num,] #假设有4个时间点,最后一列是聚类结果
dat$cid=rownames(dat) #很重要!用于 ggplot 的 group
head(dat)
#宽变长
dat = tidyr::gather(data = dat, key = "variable", value = "value", -c(Species, cid))
# or: 宽变长
#dat=reshape2::melt(dat)

# 限定x轴顺序
dat$variable=factor(dat$variable, levels = c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width'))
head(dat)
dim(dat)
ggplot(dat, aes(x=variable, y=value, group=cid, color=Species))+
  geom_hline(yintercept =4, linetype=2, size=0.5) +
  geom_line(size=0.3)+
  stat_summary(aes(group=1),fun.y=mean, geom="line", size=0.8, color="black")+
  facet_wrap(Species~.)+
  labs(x="Stage", y='Expression')+
  theme_bw()+
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        axis.text = element_text(size=8, face = "bold"),
        axis.text.x=element_text(angle=60, hjust=1),
        strip.background = element_rect(fill="white"),
        strip.text = element_text(size = 8, face = "bold"))
相关推荐
机器学习之心20 小时前
多智能体遗传算法(MAGA)优化最优投影方向的投影寻踪聚类评价,MATLAB代码
matlab·聚类·投影寻踪聚类评价
一晌小贪欢1 天前
第1节:数据分析环境配置——Jupyter Notebook全攻略
jupyter·数据挖掘·数据分析·可视化·数据可视化
憨波个2 天前
【说话人日志】DOVER:diarization 输出融合算法
人工智能·算法·音频·语音识别·聚类
码界筑梦坊3 天前
114-基于Python的1688电脑硬件数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·数据可视化
余丁,微生信4 天前
在线绘制Nature Genetics同款带背景的GO富集条形图
数据可视化·论文插图·生信分析·科研绘图·富集分析·科学科普·nature genetics
余丁,微生信4 天前
聚类和流向:在线绘制热图+桑基图组合图展示基因表达和所属通路
数据可视化·生信分析·科研绘图·热图·桑基图·科学科普·基因表达
泽_浪里白条5 天前
我在 Superset 6.x 做自定义图表 + Embedded SDK 集成的实战复盘(附踩坑清单)
前端·数据可视化
山海鲸实战案例分享5 天前
【数字孪生实战案例】如何配置下拉菜单,实现与电子地图飞线的数据联动查询?~山海鲸可视化
数字孪生·数据可视化·零代码·实战案例·山海鲸可视化·电子地图·数据联动
Westward-sun.5 天前
YOLOv2算法全方位解析:从BatchNorm到聚类先验框的九大改进
算法·yolo·聚类
无心使然5 天前
Openlayers调用ArcGis要素服务之一 ——要素查询 (/query)
前端·javascript·数据可视化