R语言数据可视化之美:专业图表绘制指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6.2 视觉通道映射

R语言可用作变量的视觉通道映射参数主要包括color/col/colour、fill、size、angle、linetype、shape、vjust和hjust,其具体说明如下所示。需要注意的是,有些视觉通道调整参数只适应于类别型变量,比如linetype、shape。

(1)color/col/colour、fill和alpha的属性都是与颜色相关的视觉通道映射参数。其中,color/col/colour是指点(point)、线(line)和填充区域(region)轮廓的颜色;fill是指定填充区域(region)的颜色;alpha是指定颜色的透明度,数值范围是从0(完全透明)到1(不透明)。

(2)size是指点(point)的尺寸或线的(line)宽度,默认单位为mm,可以在geom_point()函数绘制的散点图基础上,添加size的映射从而实现气泡图。

(3)angle是指角度,只有部分几何对象有,如geom_text()函数中文本的摆放角度、geom_spoke()函数中短棒的摆放角度。

(4)vjust和hjust都是与位置调整有关的视觉通道映射参数。其中,vjust是指垂直位置微调,在(0, 1)区间的数字或位置字符串:0="buttom", 0.5="middle", 1="top",区间外的数字微调比例控制不均;hjust是指水平位置微调,在(0, 1)区间的数字或位置字符串:0="left", 0.5="center", 1="right",区间外的数字微调比例控制不均。

(5)linetype是指定线条的类型,包括白线(0="blank")、实线(1="solid")、短虚线(2="dashed")、点线(3="dotted")、点横线(4="dotdash")、长虚线(5="longdash")、短长虚线(6="twodash")。

(6)shape是指点的形状,为[0, 25]区间的26个整数,分别对应方形、圆形、三角形、菱形等26种不同的形状,如图1-6-5所示。只有21~26号的点的形状有填充颜色(fill)的属性,其他都只有轮廓颜色(color)的属性。

图1-6-5 R中ggplot2包可供选择的形状

R ggplot2的geom_×××()系列函数,其基础的展示元素可以分成四类:点(point)、线(line)、多边形(polygon)和文本(text),将表1-6-1中ggplot2的常见函数归类为如表1-6-2所示。ggplot2每个函数的具体参数可以通过在RStudio右下角的“help”中输入函数名查找,或者在左下角的“Console”控制台中输入:?函数名,比如:? ? geom_point()。

表1-6-2 ggplot2常见函数的主要视觉通道映射

图1-6-6所示为同一数据集中不同的视觉通道映射效果。使用read.csv()函数:df<-read.csv("Facet_Data.csv", header = TRUE),可以读入数据集df, df是总共有4列的数据集:tau、SOD、age和Class(Control、Impaired和Uncertain),其数据框前6行如图1-6-7所示。

图1-6-6 不同的视觉通道映射效果

图1-6-7 数据框前6行

图1-6-6使用的都是geom_point()函数,其参数包括x、y、alpha(透明度)、colour(轮廓色)、fill(填充颜色)、group(分组映射的变量)、shape(形状)、size(大小)、stroke(轮廓线条的粗细)。图1-6-6(a)是将离散数值型变量age映射到散点的大小(size),然后散点图转换成气泡图,气泡的大小对应于age的数值;图1-6-6(b)是将age映射到散点的大小(size)和填充颜色(fill),ggplot2会自动将填充颜色映射到颜色条(colorbar);图1-6-6(c)是将离散类别型变量Class映射到散点的填充颜色(fill),ggplot2会自动将不同的填充颜色对应类别的数据点,从而绘制多数据系列的散点图;图1-6-6(d)是将离散数值型变量age和离散类别型变量Class分别映射到散点的大小(size)和填充颜色(fill)。

另外,还有不用作变量的视觉通道映射参数,但是有比较重要的视觉通道映射:字体(family)和字型(fontface)。其中,字型分为:plain(常规体)、bold(粗体)、italic(斜体)、bold.italic(粗斜体)。常用于geom_text等文本对象;字体内置的只有3种:sans、serif、mono,但是可以通过扩展包extrafont来将其他字体转换为ggplot2可识别的标准形式,还可以通过showtext包以图片的形式将字体插入到ggplot2绘制的图表中。不同的字体和字型组合如图1-6-8所示。

图1-6-8 不同的字体和字型组合