这篇文章主要介绍“ggplot2离散颜色标度连续化的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ggplot2离散颜色标度连续化的方法”文章能帮助大家解决问题。
说的不那么专业一点儿,就是如果遇到有连续型变量要使用颜色来表达,那么通常我们需要自己指定低值、中间值或者高值所代表的颜色,但是以下我介绍的函数则可以直接将RcolorBrewer的标准离散颜色色板通过均匀差值的方式实现连续化。
scale_colour_distiller(type = "seq",palette=1,direction= -1,na.value = "grey50",guide = "colourbar")
scale_fill_distiller(type = "seq",palette = 1,direction =-1, na.value = "grey50",guide = "colourbar")
以上参数中,type即是指定色盘类别,仍然是三大类别,palette指定色盘代号或者名称,direction指定方向,na.value指定缺失值颜色,guide指定最终图例的样式。
以上两个配对函数即是我今天要讲解的主要内容,这两个函数是用于线条颜色(含字体)、填充颜色的的标度函数,其将RcolorBrewer色盘中的所有离散颜色组合通过均匀差值连续化,给我们在提供连续性变量的颜搭配了提供了很大的便利,因为RcolorBrewer色盘本身就是专为图形序列配色量身定制的,尽管其开发之初的主要意图是为满足离散序列的科学化颜色搭配,但是将其用于连续化场景也是很棒哒。
library(ggplot2)
ggplot(faithfuld) +geom_tile(aes(waiting,eruptions,fill=density))
当你使用一个默认的连续性映射时,ggplot2会给你的图表设定一个默认的连续性颜色渐变。如果要自定义,你可能要写成这样:
ggplot(faithfuld) +geom_tile(aes(waiting,eruptions,fill=density))+
scale_fill_gradient2(low="yellow",mid="orange",high="red",midpoint=.02)
但是当你使用以上所提到的函数进行标度的设置之后,你无须进行颜色的制定了,可以直接通过封装的RcolorBrewer标度函数,设置色盘即可完成离散色盘色连续化。
ggplot(faithfuld) +geom_tile(aes(waiting,eruptions,fill=density))+
scale_fill_distiller(palette="Blues",direction =1)+
theme_void()
ggplot(faithfuld) +geom_tile(aes(waiting,eruptions,fill=density))+
scale_fill_distiller(palette="Greens",direction =1)+
theme_void()
ggplot(faithfuld) +geom_tile(aes(waiting,eruptions,fill=density))+
scale_fill_distiller(palette="Reds",direction =1)+
theme_void()
非常推荐大家使用RcolorBrewer中的seq色板中的颜色组合来搭配连续性变量的颜色标度映射,因为这种颜色组合本身就出自同一个色系,用于连续性标度的表达堪称完美。
当然双向渐变的离散颜色组合或者多分类色组也是支持这种方式进行连续化的。当然如果是带有负值的变量,使用这种双向渐变进行连续化映射绝对是恰到好处。
ggplot(faithfuld) +geom_tile(aes(waiting,eruptions,fill=density))+
scale_fill_distiller(palette="RdYlBu")+
theme_void()
ggplot(faithfuld) +geom_tile(aes(waiting,eruptions,fill=density))+
scale_fill_distiller(palette="RdYlGn")+
theme_void()
ggplot(faithfuld) +geom_tile(aes(waiting,eruptions,fill=density))+
scale_fill_distiller(palette="Set1")+
theme_void()
但是多分类颜色连续化以后看着就多少有些怪怪的。
RcolorBrewer包中所有离散色组颜色名称列表:
关于“ggplot2离散颜色标度连续化的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。