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

1.7.4 颜色方案的拾取使用

刚刚提供给大家这么多颜色主题方案,怎么使用呢?在绘图软件中修改颜色,一般是通过RGB数值设定。这时候,我们就需要获取颜色方案中每个颜色的RGB数值或者Hex颜色码,其可以通过图1-7-17所示的几种方式获得相关颜色数值。

图1-7-17 获取颜色数值

有时候手动调整数据系列的RGB颜色值会觉得很麻烦,其实还有一种利用取色器的便捷方法,如PPT和AI软件都有取色器,但是R、Excel、Origin等绘图软件没有取色器。对于R、Origin等绘图软件的图表,可以导出SVG、EPS等矢量格式的图片,然后使用AI软件打开后:①选择图片,选择“对象(O)”→“剪切蒙版(M)”→“释放(R)”选项;②再选择图片,选择“对象(O)”→“复合路径(O)”→“释放(R)”选项;③选择要修改的图表元素,然后使用取色器调整“填充”和“描边(边框)”颜色;④导出相应的标量格式的图片,同时设定好图片的分辨率。

Hex——十六进制颜色码十六进制颜色码:https://www.mathsisfun.com/hexadecimal-decimal-colors.html

在软件中设定颜色值的代码通常使用十六进制颜色码(Hex Color Code)。颜色一般可以使用RGB三个数值表示。十六进制颜色码指定颜色的组成方式:前两位表示红色(red),中间两位表示绿色(green),最后两位表示蓝色(blue)。把三个数值依次并列起来,以#开头,就是我们平时使用的十六进制颜色码。如纯红:#FF0000,其中FF即十进制的R(红)=255,00和00即G(绿)=0和B(蓝)=0;同样的原理,纯绿:#00FF00,即R=0, G=255, B=0。

结合以上颜色主题的获取方法:我们可以使用R自带的颜色主题方案,或者使用R的颜色包获取颜色方案,或者使用颜色拾取软件获得颜色值。根据数据映射变量的类型,可以将颜色度量调整scale_color/fill_*()函数的应用主要分成离散型和连续型,具体如图1-7-18和图1-7-19所示。

图1-7-18 离散型颜色主题方案

图1-7-19 连续型颜色主题方案

图1-7-18的数据集df, df是总共有4列数据:tau、SOD、age和Class(Control、Impaired和Uncertain),其数据映射代码如下所示。将离散的类别型变量Class映射到数据点的填充颜色(fill),图1-7-18离散型颜色主题方案的代码如表1-7-1所示。

表1-7-1 图1-7-18离散型颜色主题方案代码

        p<-ggplot(df, aes(x=SOD, y=tau, fill=Class))+
          geom_point(shape=21, size=3, colour="black", stroke=0.25)

图1-7-19的数据集df,其数据映射代码如下所示。将连续的数值型变量Class映射到数据点的填充颜色(fill),图1-7-19离散型颜色主题方案的代码如表1-7-2所示。

        p<-ggplot(df, aes(x = tau, y = SOD, fill=age))+
          geom_point(shape=21, size=4, colour="black", alpha=0.95)