R语言ggplot2绘制点图(Dot Plot)完整教程

Theo
Theo
发布时间:2026-10-13 | 3人浏览过
原创

Dot Plot(点图)是展示数据分布的常用图表。本文详解如何利用R语言的ggplot2等工具,通过数据重塑(宽变长)、核心绘图函数以及stat_summary统计层,制作包含均值和标准误的专业点图。

准备与读取数据

R语言处理绘图数据时,通常要求以结构化格式导入。建议先将Excel数据保存为CSV格式,并在读取时明确标识列名:

# header = T 表示第一行默认为列名;若无列名请设为 F
data <- read.csv("your file path", header = T)

加载必要软件包

为了完成数据的格式化转换及图形的美化增强,需要调用以下三个R包:

library(reshape2)   # 用于数据重塑 (宽表转长表)
library(ggplot2)    # 核心绘图框架
library(Hmisc)      # stat_summary 函数依赖此包计算统计量

生成基础点图

原始数据往往呈“宽表”排列(即每列为一个样本组),而geom_dotplot更适合处理长格式数据(两列:分类变量X和数值变量Y)。

第1步:数据重塑
使用melt函数去掉不需要的标识列,将多列转换为长表:

data_melt <- melt(data[,-1])

第2步:映射与绘制
指定x轴为类别,y轴为数值。参数中设置颜色与填充随变量变化,并通过theme移除网格背景,使图像更整洁。

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)

叠加误差线

若需展示数据波动情况,可使用fun.data = "mean_se"计算均值的标准误(Standard Error),并以误差线形式呈现。

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)

以上就是R语言ggplot2点图绘图的详细内容,更多关于R语言数据可视化Dot plot点图画法的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表