Tidyverse自学笔记-图形属性设定与映射

数据准备
本示例数据是自编数据,仅为练习所用,数据结构假设为,两个年份year(2020,2021),两个氮水平nitrogen(N1,N2),两个玉米品种variety(a,b)测定了5个试验指标(变量v1,v2,v3,v4,v5),每个处理3次重复block(1,2,3)。

library(tidyverse) # 调用tidyverse。
df <- read_csv(file = "df.csv") # 导入数据。文档在工作目录下,所以直接给文件名导入。
df # 查看数据。
## # A tibble: 24 × 9
##     year nitrogen variety block    v1    v2    v3    v4    v5
##    <dbl> <chr>    <chr>   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  2020 N1       a           1  1.26  2.14   0.4   5    3.25
##  2  2020 N1       a           2  1.2   2.9    0.1   5.3  1.27
##  3  2020 N1       a           3  1.3   3      0.3   5.6  2.24
##  4  2020 N1       b           1  1.08  1.72   1.8   2.8  1   
##  5  2020 N1       b           2  1.05  1.65   1.7   2.5  3.12
##  6  2020 N1       b           3  1.15  1.35   1.5   3.1  4.57
##  7  2020 N2       a           1  1.32  3.78   1.6   6    5.85
##  8  2020 N2       a           2  1.28  4.32   1.4   6.1  6.48
##  9  2020 N2       a           3  1.35  3.95   1.3   6.2  7.21
## 10  2020 N2       b           1  1.33  3.47   2.8   4.1  6.56
## # … with 14 more rows

7.1.3 图形属性设定和映射

前面学习了ggplot2构图的三要件(数据、映射、几何对象),有了三个要件就可以画出一幅基本的图。可实际作图时,我们往往需要根据自身需求设定图形的属性。
图形属性 是图中对象的可视化属性,包括数据点的大小、形状和颜色等。
通过将图形属性映射为数据集中的变量,可以以不同的方式传达出数据的相关信息。

ggplot2是以图层进行图形的构建,而一个图层里设定的图形属性映射只对该图层起作用;
数据和映射的关系:映射控制了数据变量和图形属性之间的关系。除过将图形属性映射到数据变量外,还可以在图层的参数设置里将参数设定为单一值。图形属性可以根据数据观测的不同而变化,但是图层参数设定则不行。
标度负责控制映射后图形属性的显示方式。标度和映射是紧密相关的概念。

下面以实例体会一下图层设定和映射的关系。

ggplot(df, aes(x = v3, y = v4)) + geom_point() # 三要件绘制基本散点图。
image.png
ggplot(df, aes(x = v3, y = v4)) + geom_point(colour = "red") # 这里设置颜色是在几何对象中完成的,是在图层中进行了参数设定。
image.png
ggplot(df, aes(x = v3, y = v4)) + geom_point(aes(colour = "red")) # 这里是在几何对象图层中将颜色映射为红色。
image.png
ggplot(df, aes(x = v3, y = v4, colour = nitrogen)) + geom_point()
# 将数据中的v3和v4分别映射给x轴和y轴,将数据中的分类变量nitrogen映射给颜色。
ggplot(df, aes(x = v3, y = v4)) + geom_point(aes(colour = nitrogen)) # 同上。
image.png

image.png

图2和3很好的反映了设定和映射的区别。你可以试试ggplot(df, aes(x = v3, y = v4)) + geom_point(colour = nitrogen)代码。看看有什么效果。有时候错误的代码反而能起到很好的学习效果。

参考资料

  1. R语言编程—基于 tidyverse,张敬信,人民邮电出版社(待出版),2022.
  2. R语言教程,李东风,https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/index.html
  3. 《R数据科学》,人民邮电出版社,2018.
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容