原创:黄小仙
2020开年不凡, 生活果然充满了惊吓,可仍然要期待惊喜呀。今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊。
作图数据如下:
(数据框中的第一列行名在本次作图中暂时用不到) Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式。
Step2. 绘图数据的读取
代码语言:javascript复制data<-read.csv(“your file path”, header = T)
#注释:header=T表示数据中的第一行是列名,如果没有列名就用header=F
Step3.绘图所需package的安装、调用
代码语言:javascript复制library(reshape2)
library(ggplot2)
library(Hmisc)
#注释:package使用之前需要调用
# 今天要用到stat_summary()函数需要调用Hmisc包
Step4.绘图
代码语言:javascript复制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
添加平均值
代码语言:javascript复制p stat_summary(fun.y = "mean", geom = "crossbar",
mapping = aes(ymin = ..y.., ymax = ..y..), width = 0.3)
添加误差线
代码语言:javascript复制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)