日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言调色板5个参数,R语言中的颜色以及色板

發(fā)布時(shí)間:2023/12/8 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言调色板5个参数,R语言中的颜色以及色板 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

可視化數(shù)據(jù)時(shí),色彩往往是最欠考慮的因素。的確,在一個(gè)圖中,數(shù)據(jù)的選擇和圖表類型的確定才是最重要,最需要確定的因素。但是,適當(dāng)?shù)倪x擇顏色不僅僅能使數(shù)據(jù)圖的閱讀者賞心悅目,而且有助于圖中數(shù)據(jù)關(guān)系的呈現(xiàn),使得整個(gè)圖表更有說服力。這篇文章將簡單介紹R語言中的色彩和調(diào)色板相關(guān)package和函數(shù)。

1.R語言中的默認(rèn)顏色

R中可以通過定義col參數(shù)自定義顏色。有以下四種方法進(jìn)行設(shè)置,是等價(jià)的:

數(shù)字:(如1代表當(dāng)前palette的第1種顏色,2代表當(dāng)前palette的第2種顏色等);

顏色名:(如”red”,”blue”)、可以使用colors()獲得所有顏色名稱列表

RGB:使用rgb()函數(shù)得到的返回值rgb(1, 0, 0)

十六進(jìn)制顏色代碼:#FF0000

barplot(1:4, col = c(2, "red", rgb(1, 0, 0), "#FF0000"))

人們不禁要問,不同數(shù)字代表的都是什么顏色?

通過palette()函數(shù),可以看到在當(dāng)前調(diào)色板下,第一種顏色是黑色,第二種顏色是紅色。這個(gè)調(diào)色板共有8種顏色,當(dāng)使用顏色數(shù)大于8時(shí),會(huì)從頭開始。

palette()## [1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow"## [8] "gray"

調(diào)色板當(dāng)然是可以改變的,比如用系統(tǒng)中的彩虹調(diào)色板。此時(shí),第二位可就不是紅色了。

palette(rainbow(12))

barplot(1:4, col = c(2, "red", rgb(1, 0, 0), "#FF0000"))

通過再次將palette設(shè)置為”default”,可以得到默認(rèn)調(diào)色板。

palette("default")

2.R預(yù)置色彩系統(tǒng)的色板

其實(shí)在R語言的色彩系統(tǒng)中,有兩大類顏色系統(tǒng),一類是預(yù)設(shè)的調(diào)色盤,通過調(diào)色盤,你可以獲取任意數(shù)量的色彩組合。

R語言的預(yù)設(shè)調(diào)色板一共有五個(gè):

rainbow

heat.colors

terrain.colors

topo.colors

cm.colors

這五個(gè)調(diào)色板就像是一個(gè)大染缸一樣,排列著無數(shù)的色彩組合。取色也很簡單,就是使用預(yù)設(shè)色盤名稱+色彩數(shù)據(jù)即可:

rainbow(10)

[1] "#FF0000FF" "#FF9900FF" "#CCFF00FF" "#33FF00FF" "#00FF66FF" "#00FFFFFF"

[7] "#0066FFFF" "#3300FFFF" "#CC00FFFF" "#FF0099FF"

以上既是通過名稱+數(shù)量的方式獲取的一組10個(gè)顏色,同樣我們可以通過scales包中show_col函數(shù)查看具體的顏色效果:

library(scales)

show_col(rainbow(10),labels=T) #labels控制是否顯示HEX格式的色值信息.

接下來我用一個(gè)版面矩陣將五個(gè)色盤顏色全部顯示出來:

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

n

barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),horiz=T,axes=F,main="Rainbow Color")

barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),horiz=T,axes=F,main="Heat.Colors")

barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),horiz=T,axes=F,main="Terrain.Colors")

barplot(rep(1,times=n),col=topo.colors(n),border=topo.colors(n),horiz=T,axes=F,main="Topo.Colors")

barplot(rep(1,times=n),col=cm.colors(n),border=cm.colors(n),horiz=T,axes=F,main="Cm.Colors")

運(yùn)行以上代碼之后,你會(huì)看到繪圖面板上出現(xiàn)的五個(gè)色板色彩過渡效果,第一個(gè)rainbow是運(yùn)用最為頻繁的的色板,也是我們所熟知的彩虹七色,其余四個(gè)是截取rainbow色斑的某一段暖色系、冷色系或者單色做的漸變過渡。

五種顏色調(diào)用方法非常簡單,名稱+數(shù)量就可以。而且你也可以通過文本函數(shù)將不同色盤中截取的顏色相互混合使用。

dev.off()#關(guān)閉上次的繪圖面板

par(mfrow=c(2,1),mar=c(0.5,0.5,2,0.5),xaxs="i",yaxs="i")

a

b

barplot(rep(1,times=10),col=b,border=b,main="Topo.Colors10",axes=F)

barplot(rep(1,times=10),col=a,border=a,main="Heat.Colors10",axes=F)

dev.off()

c

barplot(rep(1,times=10),col=c,border=c,axes=F,main="topo&heat 10")

3.產(chǎn)生漸變顏色colorRamp()和colorRampPalette():

colorRamp()和colorRampPalette()都可用于建立顏色板。想象一下你現(xiàn)在有一個(gè)色板,色板上有紅色,藍(lán)色,和白色,你就可以用colorRamp()和colorRampPalette()基于這三個(gè)顏色就行調(diào)色,兩者的不同在于,colorRamp() 可以指定一個(gè)小數(shù),返回一個(gè)指定的顏色值,需要用rgb方法轉(zhuǎn)換;

colorRampPalette()返回指定數(shù)量的顏色值,兩個(gè)方法可以達(dá)到相同的效果:

par(mfrow = c(1, 2))

b2p1

b2p2

barplot(rep(1, 12), axes=F, col = b2p1(12), border = b2p1(12), main = "colorRampPalette")

rgb( b2p2(seq(0, 1, length = 12)), max = 255)

barplot(rep(1, 12), axes=F,col = rgb( b2p2(seq(0, 1, length = 12)), max = 255), border = rgb( b2p2(seq(0, 1, length = 12)), max = 255), main = "colorRamp")

4.RColorBrewer包色板

雖然說RColorBrewer包中實(shí)際用到的就只有brewer.pal()函數(shù),但是包中的兩個(gè)優(yōu)點(diǎn)使得其非常實(shí)用。一是,包中顏色板被劃分為序列型(sequential)、離散型(diverging)、分類型(qualitative)這三種基本能滿足統(tǒng)計(jì)作圖需要的類型;二是,顏色都比較協(xié)調(diào)。更多指引見其官網(wǎng)ColorBrewer。

require("RColorBrewer")display.brewer.all()

取出對應(yīng)色板顏色,以及數(shù)量:

brewer.pal(9, "Purples")

[1] "#FCFBFD" "#EFEDF5" "#DADAEB" "#BCBDDC" "#9E9AC8" "#807DBA" "#6A51A3" "#54278F" "#3F007D"

總結(jié)

以上是生活随笔為你收集整理的c语言调色板5个参数,R语言中的颜色以及色板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。