数据可视化 您所在的位置:网站首页 多个散点图 数据可视化

数据可视化

2023-12-26 15:56| 来源: 网络整理| 查看: 265

数据可视化——R语言多种方式绘制分组数据(箱形图、小提琴图、散点图、误差条图等及相互组合并自动添加P值) 准备分组的离散变量分组的连续变量箱形图(Box plots)小提琴图(Violin plots)点图(Dot plots)一维散点图(Stripcharts)Sinaplot带有误差条的均值和中值图添加P值和显著性水平 总结扩展阅读References

本文内容为一篇英文博客的翻译内容,博客原文链接:Plot Grouped Data: Box plot, Bar Plot and More

概述:本文重点介绍各种用于分组数据(基于类别变量分组)的绘图方式。包括箱形图(Box plots)、小提琴图(Violin plots)、点图(Dot plots)、一维散点图(Stripcharts)、Sinaplot、条形图及折线图等多种形式及各种图形的相互组合。类型多样,灵活易用。算作是对之前博文很好的总结。另外,本文还实现了对分组变量组间比较自动添加P值(T检验或wilcoxon检验的P值)和显著性水平。

使用工具:R语言中的ggplot2包和ggpubr包

准备

加载所需的包,并使用函数theme_set()设定主题样式为theme_pubclean()

library(dplyr) library(ggplot2) library(ggpubr) theme_set(theme_pubclean()) 分组的离散变量 绘图类型:条形图,用于表示每个组别数据的频数。关键函数:geom_bar()示例数据集:ggplot2包中的diamonds,是一个表示钻石性质的数据集 cut:分类变量,表示钻石切割的质量,由坏到好共5个等级:Fair, Good, Very Good, Premium, Idealcolor:分类变量,表示钻石的颜色,“J”表示较差,“D”表示较好

仅采用diamonds中的一个子集数据用于图形绘制,子集数据选择流程如下:

仅保留颜色为“J”或“D”的数据按cut和color两个属性对数据分组统计每组的数量采用geom_bar()绘制条形图 筛选数据并统计每个分组的数量 df % filter(color %in% c("J", "D")) %>% group_by(cut, color) %>% summarise(counts = n()) head(df, 4)

数据形式如下:

## # A tibble: 4 x 3 ## # Groups: cut [2] ## cut color counts ## ## 1 Fair D 163 ## 2 Fair J 119 ## 3 Good D 662 ## 4 Good J 307 绘制各分组的条形图 关键函数:geom_bar();关键参数:stat = “identity”,按原始方式绘制图形scale_color_manual()和scale_fill_manual()可以设置条形图的边框颜色和填充颜色 # Stacked bar plots of y = counts by x = cut, # colored by the variable color ggplot(df, aes(x = cut, y = counts)) + geom_bar( aes(color = color, fill = color), stat = "identity", position = position_stack() ) + scale_color_manual(values = c("#0073C2FF", "#EFC000FF"))+ scale_fill_manual(values = c("#0073C2FF", "#EFC000FF")) # Use position = position_dodge() p % mutate(lab_ypos = cumsum(counts) - 0.5 * counts) head(df, 4)

数据形式如下:

## # A tibble: 4 x 4 ## # Groups: cut [2] ## cut color counts lab_ypos ## ## 1 Fair J 119 59.5 ## 2 Fair D 163 200.5 ## 3 Good J 307 153.5 ## 4 Good D 662 638.0 # Create stacked bar graphs with labels ggplot(df, aes(x = cut, y = counts)) + geom_bar(aes(color = color, fill = color), stat = "identity") + geom_text( aes(y = lab_ypos, label = counts, group = color), color = "white" ) + scale_color_manual(values = c("#0073C2FF", "#EFC000FF"))+ scale_fill_manual(values = c("#0073C2FF", "#EFC000FF"))

在这里插入图片描述

或者,可以使用ggpubr包中的ggbarplot()函数快速创建上图 ggbarplot(df, x = "cut", y = "counts", color = "color", fill = "color", palette = c("#0073C2FF", "#EFC000FF"), label = TRUE, lab.pos = "in", lab.col = "white", ggtheme = theme_pubclean() ) 条形图的替代方案

用点的数量表示各组中的记录数。X轴和Y轴均表示分类变量,每一个点隶属于一个分组。对于给定的组,点数与该组中的记录数相对应。

关键函数:geom_jitter()关键参数:alpha, color, fill, shape 和size

下列示例仅绘制了一小部分数据(整个diamonds 中的1/5)。

diamonds.frac


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有