R---plot()参数详解

Python018

R---plot()参数详解,第1张

plot是R中的基本画图工具,直接plot(x),x为一个数据集,就能画出图。细节往往制胜的关键,所以就详细来看下plot的所有可设置参数及参数设置方法。

下面讲到的图形参数,是graphic包中的常见参数,graphic不同图形方法中,这些参数都是相同的。

“p”点图

“l”线图

“b”点线图,线不穿过点

“c”虚线图

“o”点线图,线穿过点

“h”直方图

“s”阶梯图

“S”步骤图

“n”无图

colors()方法可以查看R中所有可用的颜色名,一共有657种颜色名,根据颜色名可直接设置图形的显示颜色。下面是部分颜色,完整的图见链接: R语言颜色表

除了名称外,同样可以用下标,十六进制颜色值,RGB值和HSV值来指定颜色。例子:col=1、col="white"、col="#FFFFFF"、col=rgb(1,1,1)和col=hsv(0,0,1)。

另外,R中还有许多生成颜色变量的函数。有rainbow()、heat.colors()、terrain.colors()、topo.colors()、cm.colors()方法,gray()方法生成多阶灰度色。

plot是R中的基本画图工具,直接plot(x),x为一个数据集,就能画出图,soeasy!但是细节往往制胜的关键。所以就详细来看下plot的所有可设置参数及参数设置方法。

参考:

https://blog.csdn.net/cl1143015961/article/details/45538119

R语言做图plot参数

如何使用R语言画出漂亮的图,颜色很重要,既要协调,又有有一定的分辨力。

可以拿到任意多个颜色,当然颜色越多,分辨力越低。

barplot(rep(1,8), col=rainbow(8),border=NA)

rainbow(8)

[1] "#FF0000FF" "#FFBF00FF" "#80FF00FF" "#00FF40FF" "#00FFFFFF" "#0040FFFF"

[7] "#8000FFFF" "#FF00BFFF"

barplot(rep(1,20), col=rainbow(20),border=NA) #分辨力降低

par(mfrow=c(4,1), mar=c(0,2,2,0) )

n=10

#heat.colors()从红色渐变到黄色,再变到白色

barplot(rep(1,n), col= heat.colors(n), border=NA, main="heat.colors") 

#terrain.colors() 从绿色渐变到黄色,再到棕色,最后到白色 

barplot(rep(1,n),col=terrain.colors(n), border=NA, main="terrain.colors")

#topo.colors() 从蓝色渐变到青色,再到黄色,最后到棕色 

barplot(rep(1,n),col=topo.colors(n), border=NA, main="topo.colors")

#cm.colors() 从青色渐变到白色,再到粉红色

barplot(rep(1,n),col=cm.colors(n), border=NA, main="cm.colors")

(1)

library(RColorBrewer)

display.brewer.all() #显示全部颜色集合

# 挑选某一个集合

#barplot(rep(1,8),col=brewer.pal(8,"Dark2")[1:8]) #基础语法

myColors=brewer.pal(8,"Dark2")[1:8] #Dark2主题有8种颜色

par(mfrow=c(4,1), mar=c(0,2,2,0) )

barplot(rep(1,8),col= myColors, main="Dark2"  )

#

n=15 #nrow(df)

barplot(rep(1, n ),col= colorRampPalette(colors = myColors)( n ),main="Default:linear") #则由8种生成15种颜色

barplot(rep(1, n ),col= colorRampPalette(colors = myColors, interpolate ="linear")( n ),main="linear" ) #插值方式

barplot(rep(1, n ),col= colorRampPalette(colors = myColors, interpolate ="spline")( n ),main="spline") #插值方式

colSet2 # 获取颜色16进制表示

# [1] "#1B9E77" "#D95F02" "#7570B3" "#E7298A" "#66A61E" "#E6AB02" "#A6761D" "#666666"

解释:

n=5barplot(rep(1,n), col= colorRampPalette (colors = c('red', 'white'))( n ))

colorRampPalette 函数可以混合任意两种及更多颜色,通过插值,生成更多色彩。

(2) 目测其他几个预制颜色集合

n=8barplot(rep(1,n),col= brewer.pal(n,"Set2")[1:n] ) # set2 共8种颜色

ref:

biomooc.com

一、R预设调色板

这一系列函数有5个,即:

rainbow

heat.colors

terrain.colors

topo.colors

cm.colors

在R环境里面输入问号(?)和上面任一函数名就可以获得这5个函数的用法说明。这些函数最少需要一个参数,n,表示要得到颜色的数量。n在系统允许范围内没有限制。下面用彩虹色调色板函数rainbow产生的颜色绘一个色盘:

>setwd("D:/")n=1000

>png("rainbow.disc.png", bg = "transparent")

>par(mar = c(0,0,0,0))

>pie(rep(1,times=n),labels="",col=rainbow(n),border=rainbow(n))

>dev.off()运行后回在D盘根目录下得到一个rainbow.disc.png文件,图形如下:

五个调色板产生的颜色对比如下:

>par(mfrow=c(5,1))par(mar=c(0.1,0.1,2,0.1))par(xaxs="i", yaxs="i")

>n <- 10000

>barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),axes=FALSE, main="Rainbow colors")box()

>barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),axes=FALSE, main="heat.colors")box()

>barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),axes=FALSE,main="terrain.colors")box()

>barplot(rep(1,times=n),col=topo.colors(n),border=topo.colors(n),axes=FALSE, main="topo.colors")box()

>barplot(rep(1,times=n),col=cm.colors(n),border=cm.colors(n),axes=FALSE, main="cm.colors")box()

当然你可能不需要这么多颜色,改变n值就可以了:

>n <- 10

>barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),axes=FALSE, main="Rainbow colors")box()

>barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),axes=FALSE, main="heat.colors")box()

>barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),axes=FALSE,main="terrain.c