博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RColorBrewer的使用
阅读量:7084 次
发布时间:2019-06-28

本文共 2647 字,大约阅读时间需要 8 分钟。

RColorBrewer是一个R包,使用这个网站提供的颜色。我们画一个包括八个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种渐变色。

转载于:https://www.cnblogs.com/payton/p/4806811.html

你可能感兴趣的文章
深入理解Javascript之Callstack&EventLoop
查看>>
分布式消息队列RocketMQ--事务消息--解决分布式事务的最佳实践
查看>>
flutter的log过滤,快速定位代码异常
查看>>
用idea配置c3p0连接池
查看>>
java泛型中使用的排序算法——归并排序及分析
查看>>
初识认知心理学
查看>>
通信相关
查看>>
hexo搭建github博客详解
查看>>
java 8 stream API<一>
查看>>
使用Blynk打造一款物联网产品
查看>>
iOS__在swift中实现debug隐藏打印日志
查看>>
论如何巧用链式语法逃出产品和后台魔爪
查看>>
Windows之MySQL安装教程
查看>>
GMQ稳定币助力完善数字货币体系
查看>>
Android 高仿腾讯新闻视频切换效果
查看>>
12月7日云栖精选夜读:特鲁多对话马云:请为加拿大小企业多花一些时间!
查看>>
计算机科学专业人工智能方向解析
查看>>
只有程序员才能看懂的15个瞬间
查看>>
好程序员大数据干货 SQL优化方案精解十则
查看>>
小程序安全设置-弹出框输入获取值
查看>>