原创:黄小仙
今年注定是特别的一年,今天也是一个特别的大年初一,小仙同学长这么大第一次在大年初一这天干点正事。今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊。


作图数据如下:

Step1. 绘图数据的准备
首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式。
Step2. 绘图数据的读取
data<-read.csv(“your file path”, header = T)
#注释:header=T表示数据中的第一行是列名,如果没有列名就用header=F
Step3.绘图所需package的安装、调用
library(reshape2)
library(ggplot2)
library(Hmisc)
#注释:package使用之前需要调用
# 今天要用到stat_summary()函数需要调用Hmisc包
Step4.绘图
data_melt<-melt (data[,-1])
#注释:melt()函数把表格中的宽数据变成长数据
# data[,-1]去掉作图用不到的第一列数据
p<-ggplot(data_melt, aes(x = variable, y = value, color=variable, fill= variable)) +
geom_dotplot(binaxis='y', stackdir='center', binwidth = 1)+
theme(panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.border = element_rect(colour="black",fill=NA))
p


添加平均值
p + stat_summary(fun.y = "mean", geom = "crossbar",
mapping = aes(ymin = ..y.., ymax = ..y..), width = 0.3)


添加误差线
p + stat_summary(fun.y = "mean", geom = "crossbar",
mapping = aes(ymin = ..y.., ymax = ..y..), width = 0.3) +
stat_summary(fun.data = "mean_se", geom="errorbar", width = 0.2)


(公众号:生信了)
网友评论