393 字
1 分钟
ggplot2 与高级数据可视化
基础图形生态系统
原生 R 提供了很多好用的专有函数:
- 条形图:
barplot()可设置horiz=TRUE绘制水平条形图,结合RColorBrewer设置色板非常好看。 - 直方图与密度曲线:
hist(turnover, breaks = 20, prob = TRUE, col = "lightblue")lines(density(turnover), col = "red", lwd = 2) # 叠加密度曲线- 箱线图:
boxplot()能直观展示中位数和离群点。 - **气泡图:**使用
symbols(circles = ...)将第三个维度映射为圆圈大小。
引入 ggplot2 进阶
使用 ggplot2 遵循“图层”叠加的思想(+)。
library(ggplot2)library(reshape2)
# 面积图/折线图示例df <- melt(expenditure_data, id.vars = "year", variable.name = "Type", value.name = "Expenditure")
ggplot(df, aes(x = year, y = Expenditure, color = Type, group = Type)) + geom_line() + geom_point() + labs(title = "历年支出变化", x = "年份", y = "支出 (元)") + theme_minimal()特殊图表:雷达图
借助第三方包可以轻松绘制雷达图,用于多维度数据对比。
library(ggiraphExtra)ggRadar(data = regional_data, aes(group = Regional), alpha = 0, size = 2)进阶补充:ggplot2 的底层哲学与扩展机制
- 图形语法(Grammar of Graphics)的严格映射:
ggplot2的核心在于数据空间到图形属性空间(Aesthetic Attributes)的映射。标度(Scale)负责将数据的实际单位转换为屏幕上的像素或颜色 RGB 值。 - Scale 限制与坐标轴限制的本质区别:使用
scale_y_continuous(limits = c(0, 10))会在绘图前直接删除超出范围的数据(这可能改变箱线图的中位数或平滑曲线的拟合);而使用coord_cartesian(ylim = c(0, 10))则是在绘图完成后进行视窗缩放,不会影响底层统计计算。 - 自定义 Geom 与 ggproto:当内置的几何对象无法满足要求时,可以通过面向对象的
ggproto机制继承现有的Geom,重写draw_panel()方法直接调用底层的grid包图形原语(grob)来绘制任何自定义形状。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
ggplot2 与高级数据可视化
https://blog.sopak.space/posts/study/economics-management/ms-rfp/4/ 部分信息可能已经过时
相关文章 猜你想看
1
R语言数据导入导出与基础绘图
管理统计与R实训 数据分析的第一步是把数据“搬”进 R 里,分析结束后再输出结果。同时,利用 R 的基础图形系统,我们可以快速生成散点图并进行探索性分析。
2
R语言基础数据结构
管理统计与R实训 本文将带你了解 R 语言中最基础也是最重要的数据结构:向量、矩阵、数组、数据框、因子和列表。掌握它们是处理任何复杂数据的第一步。
3
R语言字符串与日期处理
管理统计与R实训 在数据清洗中,字符串和日期处理是无法避开的难点。本文重点介绍如何分割、拼接字符串,使用正则表达式提取匹配,以及基础的日期计算。
4
概率分布与参数估计
管理统计与R实训 正态分布和 t 分布是统计学中最重要的两种分布。在 R 中,这类分布都有标准的函数前缀(p, q, d, r)用于计算概率、分位数和生成随机数。
5
相关分析与线性回归
管理统计与R实训 当我们要研究两个连续变量(如身高与体重、投入与产出)之间的数量关系时,相关分析和回归分析是最犀利的武器。

