想要学习R数据可视化,小果带你见识ggplot2之标度(八)
小果对标度函数的讲解马上要接近尾声了,不知道小伙伴掌握了多少呢,一定要自己动手练习呀。小果接下来会完成标度函数的全部内容,在这之前小果还是先强烈推荐一下自己的工具平台
(http://www.biocloudservice.com/home.html),那么现在继续跟着小果的步伐完成剩下的标度函数内容吧。
1. Viridis 配色
Viridis是一种颜色映射方案,旨在提供在视觉上连续且易于解读的配色方案。Viridis配色方案在ggplot2中非常受欢迎,因为它可以有效地表示数据的连续性,并且在打印和屏幕上都具有良好的可读性。Viridis配色方案具有以下特点:
1.连续性:Viridis配色方案中的颜色是连续的,可以有效地表示数据的连续变化。
2.色彩饱和度:Viridis配色方案中的颜色具有适度的饱和度,使得数据的差异易于分辨,同时不会过于显眼。
3.亮度变化:Viridis配色方案中的颜色在亮度上也有变化,这有助于在不同的背景下保持可读性。
4.色盲友好:Viridis配色方案被设计为对色盲人士友好,可以在不同类型的色盲中区分颜色。
在ggplot2中使用Viridis配色方案,可以通过scale_fill_viridis()或scale_color_viridis()函数来设置。这些函数可以在图形中的填充颜色或边框颜色上应用Viridis配色方案。Viridis配色方案提供了四个不同的变体:Viridis、Magma、Plasma和Inferno。每个变体都具有不同的色调和亮度,可以根据需要选择适合的配色方案。
那么又到了小果的举例环节:
> dsamp <- diamonds[sample(nrow(diamonds), 2000), ]
> dsamp# A tibble: 2,000 × 10
carat cut color clarity depth table price x y z
1 1.2 Good E SI1 64 61 7096 6.67 6.61 4.25
2 0.57 Ideal D VS2 61.8 56 1998 5.31 5.34 3.29
3 0.74 Very Good I SI1 63.8 58 2352 5.72 5.76 3.66
4 0.54 Ideal F VS2 60.3 55 1662 5.26 5.32 3.19
5 0.84 Fair D SI2 64.5 60 2167 5.92 5.84 3.79
6 1 Very Good D SI1 62.3 59 5342 6.26 6.29 3.91
7 0.9 Premium F SI1 62.6 60 3881 6.14 6.1 3.83
8 0.31 Ideal G VVS1 61.9 55 789 4.38 4.41 2.72
9 0.41 Premium G VVS1 60.3 60 1230 4.78 4.74 2.87
10 0.5 Premium I VVS1 58.2 62 1415 5.25 5.19 3.04
小果用Viridis配色方案对以上数据配色。
> txsamp <- subset(txhousing, city %in%
+ c("Austin", "Irving", "San Antonio", "Collin County", "Abilene"))
> d <- ggplot(data = txsamp, aes(x = sales, y = median)) +
+ geom_point(aes(colour = city))
> p1 <- d + scale_colour_viridis_d("xiaoguo")
> p2 <- d + scale_colour_viridis_d(option = "plasma")
> p3 <- d + scale_colour_viridis_d(option = "inferno")
> plot_grid(d, p1, p2, p3, labels = LETTERS[1:4], nrow = 2)
小果接下来设置填充色和反转颜色。
> p <- ggplot(txsamp, aes(x = median, fill = city)) +
+ geom_histogram(position = "dodge", binwidth = 20000)
> p1 <- p + scale_fill_viridis_d()
> p2 <- p + scale_fill_viridis_d(direction = -1)
> plot_grid(p1, p2, labels = LETTERS[1:4], nrow = 2)
2.连续型和离散型
接下来是小果对以前我们一起学过的函数的一些整合,小果就直接举例啦。
> faithfuld
# A tibble: 5,625 × 3
eruptions waiting density
1 1.6 43 0.00322
2 1.65 43 0.00384
3 1.69 43 0.00444
4 1.74 43 0.00498
5 1.79 43 0.00542
6 1.84 43 0.00574
7 1.88 43 0.00592
8 1.93 43 0.00594
9 1.98 43 0.00581
10 2.03 43 0.00554
我们用如上数据画一张热图。
v <- ggplot(faithfuld, aes(waiting, eruptions, fill = density))
v + geom_tile()
小果来更改一些配色方案,我们可以设置为p1p3相同,p2p4相同,如下所示。
v <- ggplot(faithfuld, aes(waiting, eruptions, fill = density))+
+ geom_tile()
type = "viridis") p1 <- v + scale_fill_continuous(
type = "gradient") p2 <- v + scale_fill_continuous(
p3 <- v + scale_fill_viridis_c()
p4 <- v + scale_fill_gradient()
plot_grid(p1, p2, p3, p4, labels = LETTERS[1:4], nrow = 2)
我们再来说一下离散型函数。
> ggplot(mpg, aes(cty, colour = factor(class), fill = factor(class))) +
+ geom_density(alpha = 0.3)
小果来更改一下上图的配色。
> okabe <- c("#E03250", "#34B6E8", "#109C98", "#F1D332", "#0878A2", "#F33D11", "#CD88F8")
> ggplot(mpg, aes(cty, colour = factor(class), fill = factor(class))) +
+ geom_density(alpha = 0.2) +
+ scale_color_discrete(type = okabe) +
+ scale_fill_discrete(type = okabe)
好啦到这里小果对ggploy2中标度函数的讲解已经全部结束啦,不知道小伙伴们对这部分小果的讲解还满意吗,小果以后会更新更好更新的内容,也希望小伙伴们多跟小果交流,这样小果就有更新的目标和动力啦。最后提醒小伙伴们一定记得要关注小果的工具平台呀
(http://www.biocloudservice.com/home.html),
那今天小果的分享就到这里啦,拜拜
小果还提供思路设计、定制生信分析、文献思路复现;有需要的小伙伴欢迎直接扫码咨询小果,竭诚为您的科研助力!
定制生信分析
服务器租赁
扫码咨询小果
往期回顾
01 |
02 |
03 |
04 |