今天我們談一下r中的顏色系統。
一般r中的作圖函式,也就是說,即使我們不特定指定顏色,一般的作圖函式,也會有自己預設的顏色。但是很多時候,這些顏色並不是很美觀,所以適當地改變配色,對我們的工作有一定的意義。然後我們下面介紹一下r中的顏色系統。
注:1、r中有4種顏色表達方式
2、r很難直接檢視某種顏色(直接根據上面的四種表達方式),所以乙個好的辦法是使用plot,指定顏色col,得到一張帶顏色的圖
一、grdevices
grdevices是r預設安裝的包,使用的時候不用載入即可以使用,這個函式有幾個顏色的函式。
1、 首先是palette()這個函式
可以理解為r自帶的乙個簡單調色盤,可以通過指定顏色為數字的方式,直接使用顏色
#檢視當前palette中的顏色
palette()
[1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow" "gray"
#用barplot檢視顏色
barplot(palette預設顏色)
#注意:
#palette裡面顏色是可以改變的,一般不指定是預設的顏色,即上面顯示的8種顏色
#如果演變了palette裡面的顏色,可以通過設定palette的引數為default的方式將顏色改變成預設顏色
> palette(gray(c(0.1,0.2, 0.3)))
> palette()
[1] "gray10" "gray20" "gray30"
#改回default
> palette("default")
> palette()
[1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow" "gray"
2、colors函式
colors()函式會返回657種r種可使用的顏色的名字,具體想看那種顏色的話可以通過barplot或者pie圖的方式檢視
#colors()共有657種顏色
> head(colors())
[1] "white" "aliceblue" "antiquewhite" "antiquewhite1" "antiquewhite2"
[6] "antiquewhite3"
3、colorramp和colorramppalette
colorramppalette比較容易理解,就是顏色的漸變色混合。
colorramp則有些不同,因為顏色是使用rgb來表示的,輸入引數為0到1之間的值,輸出的顏色會根據輸入值進行組合,得到的rgb顏色會和colorramppalette有所不同。
共同點是上面兩個函式輸入值以後,都返回的是乙個函式,需要進一步指定函式的輸入值,才能得到顏色。
colorramp 和 colorramppalette 函式
這兩個函式會接受乙個色彩向量作為輸入, 指定顏色變換的節點, 其返回值均是乙個函式, 該返回的函式可以根據需要返回計算出的位於指定的顏色節點之間的過渡顏色. 區別在於, colorramp 的返回函式接受的輸入值為 0 到 1 的數字, 返回相對應的 rgb 顏色, 而 colorramppalette 則接受乙個整數, 返回相應數量的顏色作為調色盤.
r 學習筆記:r 色彩
二、rcolorbrewer
rcolorbrewer包是乙個有用的配色包,我們可以直接使用上面的顏色作圖,需要先安裝這個package。
裡面的顏色適合三種情況:
rcolorbrewer比較簡單,裡面基本上只有幾個可用函式,如下
#使用brewer.pal.info檢視顏色資訊
> head(brewer.pal.info)
maxcolors category colorblind
brbg 11 div true
piyg 11 div true
prgn 11 div true
puor 11 div true
rdbu 11 div true
rdgy 11 div false
#使用display.brewer.all()檢視所有可用顏色
#舉例說明
pal
pal(0)
pal(1)
barplot(1:10, 1:10, col = pal(seq(0, 1, len = 10)))
#####################
pal
pal(1)
pal(2)
barplot(1:10, 1:10, col = pal(10))
#######################
library(rcolorbrewer)
brewer.pal.info
display.brewer.all()
display.brewer.pal(10, "spectral")
display.brewer.pal(13, "rdgy")
barplot(1:10, 1:10, col = brewer.pal(10, "ylorrd"))
barplot(1:9, 1:9, col = brewer.pal(9, "blues"))
barplot(1:9, 1:9, col = brewer.pal(9, "spectral"))
barplot(1:9, 1:9, col = brewer.pal(9, "set1"))
########################################
cols
cols
pal
image(volcano, col = pal(10))
image(volcano, col = pal(20))
image(volcano, col = pal(50))
image(volcano, col = pal(100))
image(volcano, col = pal(20000))
最後提一下rgb函式,其中alpha為透明度,0為完全透明,1為完全不透明
> str(rgb)
function (red, green, blue, alpha, names = null, maxcolorvalue = 1)
注,我們上面講的基本上涉及到了rgb的表達方式,計算機中的顏色表達可以有多重方式,如rgb、hsv、hsl等,我個人認為了解即可,如需進一步了解,可參考 rgb顏色設定方法及常用顏色的RGB值
1.android設定rgb顏色方法 每乙個rgb顏色都對應乙個int數值,所以我們可以這麼設定 private static final int default background color color.rgb 0,0,0 如何呼叫這個顏色值呢?比如我們要設定背景顏色,則可以使用 imagev...
C 中RGB顏色值與整型值的轉換
這兩天看以前乙個系統的資料庫時,發現其中有個color欄位,顯然是儲存顏色的。但字段型別卻是integer,儲存的值是一長串數字。一時犯糊,跑去問經理數字怎麼換算成r g b三個值啊?經理說你難道不知道rgb函式麼?哦,想起來了。用vb開發的朋友應該都知道這個函式,確切的說是乙個巨集,在msdn6中...
c 中使用的顏色型別 R中的顏色及使用
今天我們談一下r中的顏色系統。一般r中的作圖函式,也就是說,即使我們不特定指定顏色,一般的作圖函式,也會有自己預設的顏色。但是很多時候,這些顏色並不是很美觀,所以適當地改變配色,對我們的工作有一定的意義。然後我們下面介紹一下r中的顏色系統。注 1 r中有4種顏色表達方式 2 r很難直接檢視某種顏色 ...