# R语言ggplot2画图比较两组连续型数据的几种方案分别是怎样的 在数据分析和可视化中,比较两组连续型数据是常见需求。R语言的`ggplot2`包提供了丰富的可视化方案。本文将详细介绍6种主流方法,并提供代码示例和适用场景分析。 ## 1. 基础箱线图(Boxplot) ### 1.1 基本实现 ```r library(ggplot2) ggplot(iris, aes(x = Species, y = Sepal.Length)) + geom_boxplot()
ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) + geom_boxplot(alpha = 0.7) + scale_fill_brewer(palette = "Set2") + theme_minimal()
ggplot(iris, aes(x = Species, y = Sepal.Length)) + geom_violin(trim = FALSE)
ggplot(iris, aes(x = Species, y = Sepal.Length)) + geom_violin(aes(fill = Species), alpha = 0.5) + geom_boxplot(width = 0.1)
ggplot(iris, aes(x = Species, y = Sepal.Length)) + geom_dotplot(binaxis = "y", stackdir = "center")
ggplot(iris, aes(x = Species, y = Sepal.Length)) + geom_jitter(width = 0.2, alpha = 0.5)
ggplot(iris, aes(x = Sepal.Length, fill = Species)) + geom_histogram(position = "dodge", bins = 30)
ggplot(iris, aes(x = Sepal.Length, fill = Species)) + geom_density(alpha = 0.5)
ggplot(iris, aes(x = Sepal.Length, color = Species)) + stat_ecdf(geom = "step")
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() + facet_wrap(~Species)
library(GGally) ggpairs(iris, columns = 1:4, aes(color = Species))
library(ggpubr) compare_means(Sepal.Length ~ Species, data = iris) ggplot(iris, aes(x = Species, y = Sepal.Length)) + geom_boxplot() + stat_compare_means()
可视化类型 | 适用样本量 | 展示重点 | 代码复杂度 |
---|---|---|---|
箱线图 | 任意 | 统计量 | ★★☆☆☆ |
小提琴图 | >100 | 分布形态 | ★★★☆☆ |
点图 | <100 | 个体值 | ★★☆☆☆ |
密度曲线 | >50 | 概率密度 | ★★☆☆☆ |
ECDF图 | >30 | 累积分布 | ★★★☆☆ |
# 安装必要包 if(!require(patchwork)) install.packages("patchwork") # 创建复合图形 p1 <- ggplot(iris, aes(Species, Sepal.Length)) + geom_boxplot(aes(fill = Species)) + ggtitle("Boxplot") p2 <- ggplot(iris, aes(Sepal.Length, fill = Species)) + geom_density(alpha = 0.5) + ggtitle("Density Plot") library(patchwork) p1 + p2 + plot_layout(ncol = 2)
Q1:如何处理极端异常值? - 方法1:coord_cartesian(ylim = c(lower, upper))
- 方法2:使用scale_y_continuous(limits = )
Q2:如何调整图形比例?
ggplot(iris, aes(Species, Sepal.Length)) + geom_boxplot() + coord_fixed(ratio = 0.5)
提示:所有代码示例基于iris数据集,实际应用时请替换为您自己的数据框和变量名。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。