ggalt扩展包在ggplot2中的高级可视化应用
ggplot2基础概述
ggplot2是基于图形语法理论的R语言绘图包,采用分层结构构建可视化。核心组件包括数据映射、几何对象、统计变换和坐标系。典型应用流程如下:
# 安装与加载
install.packages("ggplot2")
library(ggplot2)
# 基础散点图示例
plot_data <- data.frame(x_val = rnorm(50), y_val = rnorm(50))
ggplot(plot_data, aes(x = x_val, y = y_val)) +
geom_point()
ggalt功能特性
安装与集成
# 安装ggalt扩展
install.packages("ggalt")
library(ggalt)
# 与ggplot2协同示例
base_chart <- ggplot(mtcars, aes(wt, mpg)) + geom_point()
base_chart + geom_encircle(alpha = 0.3) + theme_minimal()
增强坐标系
水平翻转坐标系:
bar_data <- data.frame(cat = LETTERS[1:5], val = c(12, 18, 7, 22, 15))
ggplot(bar_data, aes(cat, val)) +
geom_col() +
coord_flipper()
透明坐标系:
ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
coord_transparent(alpha = 0.4)
地理投影坐标系:
library(maps)
world_map <- map_data("world")
ggplot(world_map, aes(long, lat, group = group)) +
geom_polygon() +
coord_map(projection = "mercator")
新增几何对象
平行坐标图:
multi_data <- data.frame(matrix(rnorm(200), ncol = 4))
ggplot(multi_data) +
geom_parallel_coordinates(aes(group = 1), alpha = 0.4) +
scale_x_discrete(labels = paste0("Dim", 1:4))
半分布图:
group_data <- data.frame(
category = rep(c("X","Y"), each=100),
measure = c(rnorm(100, 15), rnorm(100, 20))
)
ggplot(group_data, aes(category, measure, fill = category)) +
geom_half_boxplot() +
geom_half_violin(side = "r")
统计变换扩展
点范围统计:
summary_data <- aggregate(mpg ~ cyl, mtcars,
function(x) c(mean = mean(x), sd = sd(x)))
ggplot(summary_data, aes(factor(cyl), mpg[,1])) +
stat_pointrange(aes(ymin = mpg[,1]-mpg[,2], ymax = mpg[,1]+mpg[,2]))
半误差线:
exp_data <- data.frame(
trial = paste0("T", 1:5),
result = c(65, 78, 82, 70, 75),
error = c(5, 7, 6, 8, 4)
)
ggplot(exp_data, aes(trial, result)) +
stat_half_errorbar(aes(ymin = result - error, ymax = result + error))
比例函数增强
逻辑比例转换:
prob_data <- data.frame(x = seq(0.1, 0.9, 0.1), y = rnorm(9))
ggplot(prob_data, aes(x, y)) +
geom_point() +
scale_x_logit()
复杂数据应用
ggalt通过新增坐标系处理地理空间数据,利用平行坐标系实现多维数据分析,并通过半分布图优化组间比较。在生物统计领域应用于基因表达可视化,金融领域用于多时间序列分析。