Skip to content
← ML

/knowledge/notes/grammar-of-graphics

概念笔记 · ML

图形语法

Data Visualization

学于
自学
时间
2024
应用于
每个项目
阅读 / 复习
约 5 分钟阅读2026-10-15

图表不是命名模板(条形图、散点图、折线图)。它是图层的组合:数据映射到美学(x、y、颜色),呈现为几何对象(点、条),带有比例尺和坐标。ggplot2 实现了这种语法,让您从几条规则构建任何图表。

01

基本想法

语法有七个图层:数据(数据框)、美学(x、y、颜色、大小)、几何对象(视觉标记:点、条、线)、统计(变换:分组、平滑)、比例尺(将数据映射到视觉属性)、坐标(笛卡尔、极坐标)和分面(小倍数)。每个都是独立的;更改一个不会破坏其他。

散点图是 data + aes(x, y) + geom_point()。直方图是 data + aes(x) + geom_histogram(),它分组 x(统计)并呈现条(几何对象)。颜色、分面和比例尺是正交添加的。这种可组合性用描述您所见的语法替换了 40 多种命名图表类型。

例如,要添加平滑趋势线,只需添加 + geom_smooth()。要按类别着色,添加 aes(colour = category)。要分面显示,添加 + facet_wrap(~variable)。每个添加都是独立的,不需要重写整个图表代码。这种模块化使得实验和迭代变得容易。

02

数学

03

动手试

1 / 7 layers enabled
1 of 7 layers active
data visualization概念的交互式演示

04

我在哪用到它

05

容易出错的地方

06

参考资料

初稿于2023,2026年重写。