天天看点

《R数据可视化手册》一3.5 对正负条形图分别着色

本节书摘来自异步社区《r数据可视化手册》一书中的第3章,第3.5节,作者 【美】winston chang,更多章节内容可以访问云栖社区“异步社区”公众号查看

问题

如何根据条形对应的正负取值对其进行分别着色?

方法

下面以climate数据的一个子集为例。首先,创建一个对取值正负情况进行标示的变量pos:

上述过程准备完毕后,将pos映射给填充色参数(fill)并绘制条形图(见图3-11)。注意:这里条形图的参数设定为position="identity",可以避免系统因对负值绘制堆积条形而发出的警告信息。

《R数据可视化手册》一3.5 对正负条形图分别着色

讨论

上面的绘图过程存在一些问题。首先,图形着色效果可能跟我们想要的相反:蓝色是冷色,通常对应于负值;红色是暖色,通常对应于正值。其次,图例显得多余且扰乱视觉。

我们可以通过scale_fill_manual()参数对图形颜色进行调整,设定参数guide=false可以删除图例,如图3-12所示。同时,我们通过设定边框颜色(colour)和边框线宽度(size)为图形填加一个细黑色边框。其中,边框线宽度(size)是用来控制边框线宽度的参数,单位是毫米:

《R数据可视化手册》一3.5 对正负条形图分别着色

另见

更多关于更改图形颜色的内容可参见12.3节和12.4节。

更多关于隐藏图例的内容可参见10.1节。

继续阅读