R语言调色板(Australia风格)
Posted yuanzhoulvpi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言调色板(Australia风格)相关的知识,希望对你有一定的参考价值。
当看完这个,我觉得是不是可以搞一个中国风格的调色包
本文原文是:https://ropensci.org/blog/2017/11/21/ochre/
本文为翻译版本,如果有什么错误,反映指正。
不知道为什么,这个推文是写在2017年的,但是最近在推特上的R圈很火爆(2020年6月17日)。因此不如翻译给大家看看。也是希望大家画出来的图更加的好看优雅。
几周之前,第二届的rOpenSci OzUnConf在澳大利亚墨尔本举行,各个行业的科学家、开发者、喜欢R的人们欢聚一堂,讨论一些关于R很多有趣的项目,互相交流也学到很多,在这个会议开始之前,GitHub的unconf仓库里面,出现了很多好玩的优秀的项目,其中有一个issue引起了六位数据可视化爱好者的注意。因此ochRe包诞生了。
ochRe包的包含的调色板是受澳大利亚陆地颜色、本地的标志性艺术家风格影响的。这个包最初是Di Cook的艺术结晶,他也是受Karthik Ram的wesanderson包影响的。
为什么叫 ochre?
在完成所有的开发任务之后,给包取名字是我们面临的最重要的工作。好吃的蛋糕促使我们希望给包取名字花费更多的时间(为了多吃一点零食?)。幸运的是,不到5分钟,我们就一致同意这个名字,这意味着我们可以将省下的蛋糕用于我们开发包的时候吃。
Ochre是澳大利亚许多地方发现的天然存在的矿石的颜料——棕黄色。这个是非常常见的,以至于澳大利亚被誉为“棕黄色矿石之乡”。另外这个矿石已经被澳大利亚人用了几百年了,从艺术品的颜色涂料到保护动物皮肤,这个矿石对当地人是至关重要的。
开发 ochRe
开发这个包从挑选澳大利亚的标志性艺术品开始(这个花费了我们很长时间,当我们选好艺术品照片,我们就会提取这个艺术品的主要的颜色,然后获得这个主要的颜色的16位编码主要工具就是:https://www.coolphptools.com/color_extract
如果对有的艺术品的颜色不确定,我们使用macos系统的eyeydropper软件。或者google chrome浏览器的插件:colourPick 。
一旦我们对每个调色板的颜色、代码、色彩顺序感到满意,我们就会将与之相关的16位颜色编码以及颜色名字放到ochRe包里。面。当使用ggplot2的时候,我们还将包适用于scale包,这样可以用来改善包的功能性。尤其是适用于衍射渐变和透明度的变化。这个包还包含一些用于显示不同调色板的功能。
下面是一些原始艺术品及其相关调色板的示例:
namatjra_qual 和namatjra_div都是收到水彩画Twin Ghosts启发的。是原著居民艺术家Albert Namajira画的。namatjira_div是用来画不同数据的(难道是离散型数据?感觉翻译有点奇怪)。
nolan_ned调色板是受到艺术家Sidney Nolan画的Ned Kelly
olsen_seq是被用来设计画连续性变量的。比如热力图或者地理图层之类的。这个调色板是来至抽象画派的Sydney Sun。这个画是由John Olsen于1965年画的。
介绍ochRe
这个包包含16个调色板。具体的颜色和名字如下:
第一步安装:
# You need to install the 'devtools' package first
devtools::install_github("ropenscilabs/ochRe")
第二步查看细节:
library(ochRe)
pal_names <- names(ochre_palettes)
par(mfrow=c(length(ochre_palettes)/2, 2), lheight = 2, mar=rep(1, 4), adj = 0)
for (i in 1:length(ochre_palettes)){
viz_palette(ochre_palettes[[i]], pal_names[i])
}
这里有一些案例,教你如何使用这个包的调色板。包括ggplot2和base两个系统
一个案例是使用base系统画图,这个调色板叫winmar。这是源于“Nicky Winmar St Kilda Footballer”。由Wayne Ludbey于1993年画的。在这个图中,AFL比赛中原居民AFL球员Nicky Winmar裸露自己的皮肤以应对种族歧视。
配对散点图使用的是emu_Woman_paired调色板,源于Emu Woman。是由Emily Kame Kngwarreye于1988-89年创作的。
library(tidyverse)
library(ochRe)
library(naniar)
# Exploring missing values benefits from a paired palette, like the emu women
# Here missing status on air temperature is shown in a plot of the two wind variables
data(oceanbuoys)
oceanbuoys <- oceanbuoys %>% add_shadow(humidity, air_temp_c)
ggplot(oceanbuoys, aes(x=wind_ew, y=wind_ns, colour=air_temp_c_NA)) +
geom_point(alpha=0.8) +
scale_colour_ochre(palette="emu_woman_paired") +
theme_bw() + theme(aspect.ratio=1)
# Slightly more complicated, forcing the pairs
clrs <- ochre_palettes$emu_woman_paired[11:12]
ggplot(oceanbuoys, aes(x=wind_ew, y=wind_ns, colour=air_temp_c_NA)) +
geom_point(alpha=0.8) +
scale_colour_manual(values=clrs) +
theme_bw() + theme(aspect.ratio=1)
下面是一个澳大利亚选举人数填充图,使用的是galah调色板。Galahs是澳大利亚大陆各地发现的一种凤头鹦鹉物种中的常见品种。(注意这个画不出来,数据找不到。)
# Map of the 2016 Australian electoral boundaries
# with the galah palette
library(eechidna)
library(ggthemes)
data(nat_map_2016)
data(nat_data_2016)
ggplot(aes(map_id=id), data=nat_data_2016) +
geom_map(aes(fill=Area_SqKm), map=nat_map_2016) +
expand_limits(x=nat_map$long, y=nat_map$lat) +
scale_fill_ochre(palette="galah", discrete=FALSE) +
theme_map()
下面的图的颜色是使用的是parliament调色板,这个调色板来源于tapestry。是由Arthur Boyd在国会大厅发现的。
# Election results
senate <- read_csv("http://results.aec.gov.au/20499/Website/Downloads/SenateSenatorsElectedDownload-20499.csv",
skip = 1)
coalition <- c("Country Liberals (NT)", "Liberal", "Liberal National Party of Queensland",
"The Nationals")
labor <- c("Australian Labor Party", "Australian Labor Party (Northern Territory) Branch",
"Labor")
greens <- c("The Greens", "Australian Greens", "The Greens (WA)")
senate <- senate %>% mutate(PartyNm = ifelse(as.character(PartyNm) %in% coalition,
"Liberal National Coalition", PartyNm))
senate <- senate %>% mutate(PartyNm = ifelse(as.character(PartyNm) %in% labor,
"Australian Labor Party", PartyNm))
senate <- senate %>% mutate(PartyNm = ifelse(as.character(PartyNm) %in% greens,
"Australian Greens", PartyNm))
senate$PartyNm <- factor(senate$PartyNm,
levels = names(sort(table(senate$PartyNm),
decreasing = T)))
ggplot(data = senate, aes(x = PartyNm, fill = PartyNm)) +
geom_bar() + xlab("") +
ylab("") + scale_fill_ochre(palette="parliament") + coord_flip() +
theme_bw() + theme(legend.position = "None")
如果想要获得更多的内容,可以看看这个说明书:https://github.com/ropenscilabs/ochRe/tree/master/vignettes
————————————————
版权声明:本文为CSDN博主「yuanzhoulvpi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuanzhoulvpi/article/details/106790438
上面csdn也是我的
欢迎关注华东胡歌:
上面有各种各样的颜色,我觉我们可以搞一个中国的,就吃的方面我就想到很多,比如重庆火锅的红?安徽淮南豆腐的白?长沙臭豆腐的黑?新疆烤羊的黄?别的一时编不好了。
以上是关于R语言调色板(Australia风格)的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(分组调色板填充自定义调色板灰度比例)实战(dot plot)
R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(自定义边界调色板brewer调色板比例灰度)实战
R语言scale_colour_brewer()函数和scale_fill_brewer()函数调色板及填充ggplot2图像实战
R语言使用ggplot2包使用geom_density()函数绘制分组密度图(自定义调色板brewer灰度比例)实战(density plot)
R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置填充色调色板brewer调色板灰度比例)实战
R语言使用ggplot2包使用geom_density()函数绘制分组密度图(自定义调色板填充色brewer调色板填充灰度比例填充)实战(density plot)