R语言作图——Dot plot(点图)

2020-02-19 11:36:39 浏览数 (2)

原创:黄小仙

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)

0 人点赞