RColorBrewer的使用

RColorBrewer是一个R包,使用http://colorbrewer2.org/这个网站提供的颜色。我们画一个包括八个box的boxplot时,或者在x-y散点图上画六条线时,该怎样选择颜色呢?这个包就可以帮你。

=======哪些颜色系可以使用?=======
让我们先看看RColorBrewer给我们提供了哪些颜色系。
将如下代码写进test.R并运行。(运行方式:R CMD BATCH test.R)
### Load the package or install if not present
if (!require("RColorBrewer")) {
install.packages("RColorBrewer")
library(RColorBrewer)
}

### Set the display a 1 by 1 grid
par(mfrow=c(1,1))

### Show all the colour schemes available
display.brewer.all()
运行后生成的Rplots.pdf显示如下:

共有三组颜色可供使用:

  1. Sequential,按顺序渐变的。 - Light colours for low data, dark for high data
  2. Diverging,彼此之间差异变化较大的。 -  Light colours for mid-range data, low and high contrasting dark colours
  3. Qualitative,这个用于最大程度地显示不同类之间的差别。 - Colours designed to give maximum visual difference between classes

=======如何使用RColorBrewer?=======
还是举例说明。运行如下代码。
### Load the package or install if not present
if (!require("RColorBrewer")) {
install.packages("RColorBrewer")
library(RColorBrewer)
}

### Set the display a 1 by 1 grid
par(mfrow=c(1,1))

### Generate random data matrix
rand.data <- replicate(8,rnorm(100,100,sd=1.5))

### Draw a box plot, with each box coloured by the ‘Set3‘ palette
boxplot(rand.data,col=brewer.pal(8,"Set3"))
结果如下:

我们生成了8组随机数,然后作boxplot.
col=brewer.pal(8,"Set3")表示使用Set3的8种颜色。

=======其他画图函数中的使用=======

除了boxplot,其他的画图函数中也能使用RColorBrewer。
### Load the package or install if not present
if (!require("RColorBrewer")) {
install.packages("RColorBrewer")
library(RColorBrewer)
}

### Set the display a 2 by 1 grid
par(mfcol=c(2,1))

### Generate random data matrix
rand.data <- replicate(8,rnorm(100,100,sd=1.5))

### Draw plot of counts coloured by the ‘Set3‘ pallatte
br.range <- seq(min(rand.data),max(rand.data),length.out=10)
results <- sapply(1:ncol(rand.data),function(x) hist(rand.data[,x],plot=F,br=br.range)$counts)
plot(x=br.range,ylim=range(results),type="n",ylab="Counts")
cols <- brewer.pal(8,"Set3")
lapply(1:ncol(results),function(x) lines(results[,x],col=cols[x],lwd=3))

### Draw a pie chart
table.data <- table(round(rand.data))
cols <- colorRampPalette(brewer.pal(8,"Dark2"))(length(table.data))
pie(table.data,col=cols)
结果如下:

嗯,忽视这个饼图吧,有点儿丑……

=======颜色不够用怎么办?=======
使用colorRampPalette可以扩展颜色。
if (!require("RColorBrewer")) {
install.packages("RColorBrewer")
library(RColorBrewer)
}

### Set the display a 1 by 1 grid
par(mfrow=c(1,1))

newpalette<-colorRampPalette(brewer.pal(9,"Blues"))(10)

### Generate random data matrix
rand.data <- replicate(10,rnorm(100,100,sd=1.5))

### Draw a box plot, with each box coloured by the ‘newpalette‘ palette
boxplot(rand.data,col=newpalette)

运行结果如下:

colorRampPalette将Blues系列的第九个颜色进行了延伸,产生了10种渐变色。

时间: 2024-11-14 13:01:56

RColorBrewer的使用的相关文章

RColorBrewer调色板控制包的使用

library(RColorBrewer) display.brewer.all()  #显示所有可用颜色 显示其中一组颜色中的7种颜色 brewer.pal(7,"YlOrRd") [1] "#FFFFB2" "#FED976" "#FEB24C" "#FD8D3C" [5] "#FC4E2A" "#E31A1C" "#B10026" displ

R语言结合RColorBrewer颜色扩展包绘制横向直方图

首先载入颜色扩展包RColorBrewer,颜色包的具体使用方法可参见这篇文章http://book.2cto.com/201408/45552.html library(RColorBrewer) 本文以hadoop集群wordcount程序的输出结果为数据源 数据的整理代码如下 x=read.delim("C:/Users/a/Desktop/sample.txt",header=FALSE) #读入文本数据 names(x)=c("word","co

R语言RColorBrewer设置调色板

> library(RColorBrewer) > display.brewer.all() 可以显示所有  RColorBrewer 里的调色板 比如, Set1 中只有9个颜色, Set3中有12个颜色,Paired 中有12个颜色 如果要使用Paired这个板 > gbr<-colorRampPalette(c("green","blue","orange","red", "yellow

ML(3.1): NavieBayes在R中的应用

朴素贝叶斯方法是一种使用先验概率去计算后验概率的方法, 具体见上一节. 算法包:e1071 函数:navieBayes(formule,data,laplace=0,...,subset,na.action=na.pass) Formule: 公式的形式:class~x1 + x2 + .....  相互作用是不允许的 data: 数据集 lapace: 正面双控制拉普拉期平滑.默认值(0)禁用拉普拉斯平滑.它的思想非常简单,就是对没类别下所有划分的计数为1,这样如果训练样本集数量充分大时,并不

使用ggplot2绘制风向风速玫瑰图

install.packages("ggplot2") library(ggplot2) # WindRose.R  http://stackoverflow.com/questions/17266780/wind-rose-with-ggplot-rrequire(ggplot2)require(RColorBrewer) plot.windrose <- function(data, spd, dir, spdres = 10, dirres = 30, spdmin = 0

R-plot

颜色.图例和线 在散点图中添加信息.图例以及回归线. 模拟数据 #模拟数据 dat <- data.frame(X = runif(100,-2,2),T1 = gl(n=4,k=25,labels = c("Small","Medium","Large","Big")),Site = rep(c("Site1","Site2"),time = 50)) mm <- mode

用R进行市场调查和消费者感知分析

问题到数据 理解问题 理解客户的问题:谁是客户(某航空公司)?交流,交流,交流! 问题要具体 某航空公司: 乘客体验如何?哪方面需要提高? 类别:比较.描述.聚类,判别还是回归 需要什么样的数据:现有数据,数据质量,需要收集的数据,自变量,因变量 哪些方面的满意度?哪些主要竞争对手? 内部数据?外部数据? 领导不关心的问题都是没有未来的! 设计问卷 礼貌(Courtesy) 友善(Friendliness) 能够提供需要的帮助(Helpfulness) 食物饮料服务(Service) 购票容易度

ggplot2包--R可视化

1.ggplot2发展历程 ggplot2是Hadley在爱荷华州立大学博士期间的作品,也是他博士论文的主题之一,实际上ggplot2还有个前身ggplot,但后来废弃了,某种程度上这也是Hadley写软件的特 征,熟悉他的人就知道这不是他第一个“2”版本的包了(还有reshape2).带2的包和原来的包在语法上会有很大的改动,基本上不兼容.尽管如此,他的R代码风格在R社区可谓独树一帜,尤其是他的代码结构很好,可读性很高,ggplot2是R代码抽象的一个杰作.读者若感兴趣,可以在GitHub网站

scale相关设置—颜色设置

颜色设置,在R的可视化中,应该算是相对比较重要的一项内容,如何把握颜色,很大程度上影响图形的展现效果. 在ggplot的scale设置中,颜色相关的函数较多: scale_fill/colour_hue(..., h = c(0, 360) + 15, c = 100, l = 65, h.start = 0, direction = 1, na.value = "grey50") scale_colour_discrete 与scale_fill/colour_hue的普通参数部分是