想要学习R数据可视化,小果带你见识ggplot2之标度(七)






想要学习R数据可视化,小果带你见识ggplot2之标度(七)

小师妹  生信果  2024-02-03 19:00:57

小果在上几篇文章中介绍了ggplot2一些常用的配色方案,但是它的功能还不止于此,那么接下来小果将继续带领大家探索其他的配色方案,在讲述之前呢小果先强烈推荐一下自己的工具平台
(http://www.biocloudservice.com/home.html),
小伙伴们记得去关注使用哦。

1.分箱渐变色
 

分箱渐变色与小果在上一篇文章中讲述的渐变色类似,在ggplot2中有三个函数可以用于创建分箱渐变色:
1.scale_*_steps()函数用于创建基于等间距分箱的渐变色。它可以根据变量的值来设置填充色或边框色的渐变,并将值划分为等间距的分箱。例如,scale_fill_steps(n = 3, colors = c(“blue”, “green”, “red”))可以创建一个基于值的等间距分箱渐变填充色,将值划分为3个等间距的分箱,分别设为蓝色、绿色和红色。
2.scale_*_steps2()函数用于创建基于两个分割点的分箱渐变色。它可以根据变量的值来设置填充色或边框色的渐变,并在两个分割点之间进行分箱。例如,scale_fill_steps2(midpoint = 0, colors = c(“blue”, “white”, “red”))可以创建一个基于值的分箱渐变填充色,将值小于0的设为蓝色,值大于0的设为红色,值等于0的设为白色。    
3.scale_*_stepsn()函数用于创建自定义分箱的渐变色。它可以根据变量的值来设置填充色或边框色的渐变,并根据指定的分割点来进行分箱。例如,scale_fill_stepsn(breaks = c(-1, 0, 1), colors = c(“blue”, “white”, “red”))可以创建一个基于值的自定义分箱渐变填充色,将值小于-1的设为蓝色,值大于1的设为红色,值在-1和1之间的设为白色。
我们可以根据需要调整参数来创建所需的分箱渐变色。可以根据数据类型和可视化需求选择适合的函数和参数。又到了小果的举例环节啦:

> p1 <- ggplot(df, aes(x, y)) ++   geom_point(aes(colour = z1))> p2 <- ggplot(df, aes(x, y)) ++   geom_point(aes(colour = z1)) ++   scale_colour_steps(low = "skyblue", high = "purple")> p3 <- ggplot(df, aes(x, y)) ++   geom_point(aes(colour = z1)) ++   scale_colour_steps2()> p4 <- ggplot(df, aes(x, y)) ++   geom_point(aes(colour = z1)) ++   scale_colour_stepsn(colours = terrain.colors(10))        > plot_grid(p1, p2, p3, p4, labels = LETTERS[1:4], nrow = 2)
         

2.色轮颜色
 

色轮颜色是指基于色相环的颜色系统,这种设置方式主要用于将离散型数据均匀地映射到色轮上的颜色,它包含以下三个部分:
1.色相(Hue):色相是指颜色在色轮上的位置,用角度来表示。色相决定了颜色的基本属性,如红色、蓝色、绿色等。在色轮上,色相角度从0度开始,逆时针方向逐渐增加,直到360度回到起点。
2.饱和度(Saturation):饱和度是指颜色的纯度或者说强度,表示颜色的鲜艳程度。饱和度较高的颜色更鲜艳,而饱和度较低的颜色更灰暗或者淡色。    
3.亮度(Lightness):亮度是指颜色的明暗程度,表示颜色的明亮程度。亮度较高的颜色更明亮,而亮度较低的颜色更暗淡。
通过调整色相、饱和度和亮度,可以创建不同的色轮颜色。色轮颜色系统常用于可视化中,提供了丰富多样的颜色选择,可以用于表达不同的情感、区分不同的类别或者表示不同的数据值。小果接下来举几个例子帮大家了解它:

> dsamp <- diamonds[sample(nrow(diamonds), 2000), ]> d <- ggplot(dsamp, aes(carat, price)) + +   geom_point(aes(colour = clarity))> p1<- d + scale_colour_hue()> p2 <- d + scale_colour_hue("xiaoguo")> p3 <- d + scale_colour_hue(expression(clarity[beta]))> d + scale_colour_hue(l = 80, c = 60)> plot_grid(d, p1, p2, p3, labels = LETTERS[1:4], nrow = 2)
小果继续调整亮度和色相,如下所示。

> p1 <- d + scale_colour_hue(l = 30, c = 60)> p2 <- d + scale_colour_hue(l = 80, c = 60)> p3 <- d + scale_colour_hue(l = 80, c = 160)> p4 <- d + scale_colour_hue(l = 100, c = 160)> plot_grid(p1, p2, p3, p4, labels = LETTERS[1:4], nrow = 2)
          
然后我们设置色相的范围,如下所示。

> p1 <- d + scale_colour_hue(h = c(0, 90))> p2 <- d + scale_colour_hue(h = c(90, 180))> p3 <- d + scale_colour_hue(h = c(180, 270))> p4 <- d + scale_colour_hue(h = c(270, 360))> plot_grid(p1, p2, p3, p4, labels = LETTERS[1:4], nrow = 2)
再设置一下透明度吧。

> d <- ggplot(dsamp, aes(carat, price, colour = clarity))> p2 <- d + geom_point(alpha = 0.2)> p3 <- d + geom_point(alpha = 0.6)> p4 <- d + geom_point(alpha = 0.9)> plot_grid(p2, p3, p4, labels = LETTERS[1:4], nrow = 2)        

小伙伴们今天是否收获颇多呢,小果今天就先讲到这里啦,关于配色的内容小果会在后续文章中继续讲述,小伙伴们记得及时关注小果的文章哦,还有一定记得要关注小果的工具平台呀(http://www.biocloudservice.com/home.html),

那今天小果的分享就到这里啦,再会啦。

小果还提供思路设计、定制生信分析、文献思路复现;有需要的小伙伴欢迎直接扫码咨询小果,竭诚为您的科研助力!


定制生信分析

服务器租赁

扫码咨询小果


往期回顾

01

1024G存储的生信服务器,两人成团,1人免单!

02

单个数据库用腻了?多数据库“组合拳”带你打开免疫浸润新思路!

03

孟德尔随机化的准备工作,GWAS数据的网站下载方法

04

跟着小果学复现-手把手带你拿下IF=46.9Nature 级别的主成分分析(PCA)图!!