![R语言数据可视化之美:专业图表绘制指南](https://wfqqreader-1252317822.image.myqcloud.com/cover/252/26351252/b_26351252.jpg)
1.7.4 颜色方案的拾取使用
刚刚提供给大家这么多颜色主题方案,怎么使用呢?在绘图软件中修改颜色,一般是通过RGB数值设定。这时候,我们就需要获取颜色方案中每个颜色的RGB数值或者Hex颜色码,其可以通过图1-7-17所示的几种方式获得相关颜色数值。
![](https://epubservercos.yuewen.com/82DD81/14814527504469306/epubprivate/OEBPS/Images/Figure-0085-0090.jpg?sign=1739042029-7uyBCzpqh1zbn2JZMAHHpTG9wjEpZXIt-0-9cfb8dc1ae22ac1a4c19d9fcd60bc25b)
图1-7-17 获取颜色数值
有时候手动调整数据系列的RGB颜色值会觉得很麻烦,其实还有一种利用取色器的便捷方法,如PPT和AI软件都有取色器,但是R、Excel、Origin等绘图软件没有取色器。对于R、Origin等绘图软件的图表,可以导出SVG、EPS等矢量格式的图片,然后使用AI软件打开后:①选择图片,选择“对象(O)”→“剪切蒙版(M)”→“释放(R)”选项;②再选择图片,选择“对象(O)”→“复合路径(O)”→“释放(R)”选项;③选择要修改的图表元素,然后使用取色器调整“填充”和“描边(边框)”颜色;④导出相应的标量格式的图片,同时设定好图片的分辨率。
Hex——十六进制颜色码
在软件中设定颜色值的代码通常使用十六进制颜色码(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所示。
![](https://epubservercos.yuewen.com/82DD81/14814527504469306/epubprivate/OEBPS/Images/Figure-0086-0091.jpg?sign=1739042029-FucjLObkSYQ8Y7GYn34aH2Lti2ALMGfO-0-88a953c7b2681329393208713a57adec)
图1-7-18 离散型颜色主题方案
![](https://epubservercos.yuewen.com/82DD81/14814527504469306/epubprivate/OEBPS/Images/Figure-0086-0092.jpg?sign=1739042029-phW6ub4bZxB06IrJSM3YDzLc8KjkeF2e-0-04dc4bd4d620108a414fe7a0a83618c1)
图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离散型颜色主题方案代码
![](https://epubservercos.yuewen.com/82DD81/14814527504469306/epubprivate/OEBPS/Images/Figure-0086-0093.jpg?sign=1739042029-OpnTF18I0ipWJMXa1Pu7GshFCIkzwWlV-0-bf331d4b21e5a9dce70a2e81f6fa555d)
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)