ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
116 stars 30 forks source link

{monochromeR}:可以私人定制调色盘啦! #2937

Closed ixxmu closed 1 year ago

ixxmu commented 1 year ago

https://mp.weixin.qq.com/s/DjhjZyNzDL5pt1-M-GboSA

ixxmu commented 1 year ago

{monochromeR}:可以私人定制调色盘啦! by R语言和统计

今天小编分享一个有意思的R包,能自己做出“私人定制”版调色盘。

首先,安装并载入需要的R包:
install.packages("monochromeR")
install.packages("ggbeeswarm")

library(monochromeR)
library(ggbeeswarm)

接下来,只需要使用R包{monochromeR}的函数generate_palette()即可自定义想要的调色盘[1]


假设只想要一个颜色的渐变色调色盘,可以这么做:


generate_palette("firebrick", 
                 modification = "go_both_ways", # 还可以选"go_lighter", "go_darker"
                 n_colours = 5,
                 view_palette =
TRUE)

上述代码中modification="go_both_ways",指的是让颜色的两端分别变深和变浅。

如果想让调色盘颜色更丰富,可以选择两个颜色混合的调色盘:

my_palette <- generate_palette("darkblue", 
                 blend_colour = "orange",
                 n_colours = 8,
                 view_palette = TRUE,
                 view_labels = FALSE)

上述调色盘被存入my_palette中,顾名思义就是小编私人的调色盘啦~

下面再来做个蜂群图,试试私人调色盘到底成功没

ggplot(mpg, aes(drv, hwy, fill = class, size = class)) + 
  geom_beeswarm(shape = 21, alpha = 0.4) +
  theme_classic() +
  scale_fill_manual(values = my_palette) +
# 使用自己的调色盘来改变组间颜色
  guides(size = "none") +
  theme(plot.title = element_text(colour = my_palette[6], size = 15)) +
# 标题颜色也选用自己的调色盘
  labs(title = "My Palette",
     caption = "Data from 'mpg'",
     x = "The type of drive train",
     y = "Highway miles per gallon",
     fill = "Type of cars")

需要稍微留意的是,所创建的调色盘中所包含的颜色个数,要大于或等于作图所需要的。例如上述my_palette中有八个颜色,变量class有七个水平,所以可以成功作图。反之,会报错哦。


好啦,今天的内容就到这里。如果有帮助,记得分享给需要的人


参考文献


[1].https://github.com/cararthompson/monochromeR


▌本文由R语言和统计首发
▌课程相关咨询可添加R师妹微信: kefu_rstats
▌编辑:June
▌邮箱:contact@rstats.cn
▌网站:www.rstats.cn
我们致力于让R语言和统计变得简单!