每次画图选配色都查来查去,还是系统做个记录吧
关于颜色的一点小应用
#将R中的颜色转换为RGB值
col2rgb(col)
#将RGB转换为颜色代码
#rgb(red, green, blue, alpha, names = NULL, maxColorValue = 1)
rgb(131,165,155,1,maxColorValu=255)
#设置渐变色,绘制热图常用函数,有了colorRampPalette就可以手动设置渐变颜色区间
colorRampPalette(c("#CB181D","white","#1F78B4"))(20)#数字代表根据自己需求生成的颜色数量
randomcoloR包
可以随机出颜色
GitHub - ronammar/randomcoloR: An R package for generating attractive and distinctive colors.
library(randomcoloR)
#randomColor(count = 1, hue = c(" ", "random", "red", "orange", "yellow","green", "blue", "purple", "pink", "monochrome"), luminosity = c(" ","random", "light", "bright", "dark"))
#hue 要选择的颜色的色调;luminosity 要选择的颜色的亮度
randomColor(100, hue="red")#随机输出100个红色系颜色,但是会有重复颜色编码
mycolor<-distinctColorPalette(100)#随机输出100个不同的颜色
prismatic::color(mycolor)#prismatic包中的color函数可以直接在R命令行看颜色,方便挑选

RColorBrewer包
超级经典的配色工具包
library(RColorBrewer)
display.brewer.all()#查看所有颜色系列信息

看中的颜色可以用brewer.pal(n, 色板名称)提取里面的颜色编码
brewer.pal(8,"Set3")
#"#8DD3C7" "#FFFFB3" "#BEBADA" "#FB8072" "#80B1D3" "#FDB462" "#B3DE69" "#FCCDE5"
ggsci包
这个包里面好多好多整理好的颜色系列
手动挑选颜色可以先查看每个颜色系列的内容,后面带的数字是这个颜色系列包含的颜色数量
library(ggsci)
##查看颜色
pal_simpsons("springfield")(16)#alpha参数可以设置透明度,默认为1
pal_nejm()(8)
pal_npg('nrc')(10)
#……
##可视化颜色系列方便挑选
scales::show_col(pal_simpsons("springfield")(16))#可以在画图面板上输出这些颜色
prismatic::color(pal_simpsons("springfield")(16))#可以直接在R命令行看颜色,方便挑选复制粘贴

也有与ggplot画图适配的专门函数,前面替换成scale,例如scale_color_simpsons()、scale_fill_simpsons()
ggsci中涉及到的所有颜色系列
| Name | Scales | Palette Types | Palette Generator | ColorNum |
|---|---|---|---|---|
| NPG |
| "nrc" | pal_npg() | 10 |
| AAAS |
| "default" | pal_aaas() | 10 |
| NEJM |
| "default" | pal_nejm() | 8 |
| Lancet |
| "lanonc" | pal_lancet() | 9 |
| JAMA |
| "default" | pal_jama() | 7 |
| BMJ |
| "default" | pal_bmj() | 9 |
| JCO |
| "default" | pal_jco() | 10 |
| UCSCGB |
| "default" | pal_ucscgb() | 16 |
| D3 |
| "category10" "category20" "category20b" "category20c" | pal_d3() | 20 |
| Observable |
| "observable10" | pal_observable() | 10 |
| LocusZoom |
| "default" | pal_locuszoom() | 7 |
| IGV |
| "default""alternating" | pal_igv() | 16 |
| COSMIC |
| "hallmarks_light""hallmarks_dark""signature_substitutions" | pal_cosmic() | 10 |
| UChicago |
| "default""light""dark" | pal_uchicago() | 9 |
| Star Trek |
| "uniform" | pal_startrek() | 7 |
| Tron Legacy |
| "legacy" | pal_tron() | 7 |
| Futurama |
| "planetexpress" | pal_futurama() | 12 |
| Rick and Morty |
| "schwifty" | pal_rickandmorty() | 12 |
| The Simpsons |
| "springfield" | pal_simpsons() | 16 |
| Flat UI |
| "default" "flattastic" "aussie" | pal_flatui() | 10 |
| Frontiers |
| "default" | pal_frontiers() | 10 |
| GSEA |
| "default" | pal_gsea() | 12 |
| Bootstrap 5 |
| "blue" "indigo""purple" "pink""red" "orange""yellow" "green""teal" "cyan""gray" | pal_bs5() | 10 |
| Material Design |
| "red" "pink""purple" "deep-purple""indigo" "blue""light-blue" "cyan""teal" "green""light-green" "lime""yellow" "amber""orange" "deep-orange""brown" "grey""blue-grey" | pal_material() | 10 |
| Tailwind CSS |
| "slate" "gray""zinc" "neutral""stone" "red""orange" "amber""yellow" "lime""green" "emerald""teal" "cyan""sky" "blue""indigo" "violet""purple" "fuchsia""pink" "rose" | pal_tw3() | 10 |
paletteer包
配色工具,还没有深入探索,先放几个用过的,等后面用上再修改
devtools::install_github("EmilHvitfeldt/paletteer")
library(paletteer)
paletteer::paletteer_d("basetheme::clean")
paletteer::paletteer_c("scico::berlin", 16)
cols4all包
也是很神奇的配色工具,好就好在可以弹出交互面板,直观展示所有颜色,方便挑选
library(cols4all)
c4a_gui()#可以直接调出GUI页面,可以直接浏览所有颜色
c4a('pastel',11)#选中的颜色使用c4a函数提取
包括了很多主流配色包中的一些常用色板,想探索的可以使用c4a_gui()查看

ghibli包
挑颜色看到的一个R配色包,没用过,先做个记录
#install.packages('ghibli')
#remotes::install_github("ewenme/ghibli")
library(ghibli)
ghibli_palettes#查看所有颜色
par(mfrow=c(9,3))
for(i in names(ghibli_palettes)) print(ghibli_palette(i))
#在ggplot中使用该包颜色
scale_colour_ghibli_d("LaputaMedium", direction = -1)#用于连续型数据
scale_fill_ghibli_c("PonyoMedium",direction = -1) #用于离散型数据




2216

被折叠的 条评论
为什么被折叠?



