vlambda博客
学习文章列表

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是用来画不同数据的(难道是离散型数据?感觉翻译有点奇怪)。


R语言调色板(Australia风格)

nolan_ned调色板是受到艺术家Sidney Nolan画的Ned Kelly

R语言调色板(Australia风格)

R语言调色板(Australia风格)


olsen_seq是被用来设计画连续性变量的。比如热力图或者地理图层之类的。这个调色板是来至抽象画派的Sydney Sun。这个画是由John Olsen于1965年画的。

R语言调色板(Australia风格)


介绍ochRe


这个包包含16个调色板。具体的颜色和名字如下:


第一步安装:


# You need to install the 'devtools' package firstdevtools::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])}

R语言调色板(Australia风格)

这里有一些案例,教你如何使用这个包的调色板。包括ggplot2和base两个系统


一个案例是使用base系统画图,这个调色板叫winmar。这是源于“Nicky Winmar St Kilda Footballer”。由Wayne Ludbey于1993年画的。在这个图中,AFL比赛中原居民AFL球员Nicky Winmar裸露自己的皮肤以应对种族歧视。

R语言调色板(Australia风格)

配对散点图使用的是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 variablesdata(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 pairsclrs <- 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)

 

R语言调色板(Australia风格)


下面是一个澳大利亚选举人数填充图,使用的是galah调色板。Galahs是澳大利亚大陆各地发现的一种凤头鹦鹉物种中的常见品种。(注意这个画不出来,数据找不到。)

# Map of the 2016 Australian electoral boundaries# with the galah palettelibrary(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()

 

R语言调色板(Australia风格)

下面的图的颜色是使用的是parliament调色板,这个调色板来源于tapestry。是由Arthur Boyd在国会大厅发现的。


# Election resultssenate <- 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也是我的

欢迎关注华东胡歌:


上面有各种各样的颜色,我觉我们可以搞一个中国的,就吃的方面我就想到很多,比如重庆火锅的红?安徽淮南豆腐的白?长沙臭豆腐的黑?新疆烤羊的黄?别的一时编不好了。