R 언어의 색상

4299 단어 r
1. 기본 색상
1.1 palette()
1.1.1 팔레트의 기본 색상
palette()
## [1] "black"   "red"     "green3"  "blue"    "cyan"    "magenta" "yellow" 
## [8] "gray"
pie(rep(1,8), col=palette(), border = palette(), labels = palette(), main = "palette")

1.1.2 팔레트 재정의
palette(rainbow(10)의 색상 수를 초과하면 색상이 순환해서 사용됩니다
par(mfrow = c(1, 2),mai=c(0.1,0.1,0.5,0.1))
palette(rainbow(10))
pie(rep(1,20), col=palette(), border = palette(), labels = "", main = "palette(rainbow(10))")

palette(gray(0:12 / 12))
pie(rep(1,12), col=palette(), border = palette(), labels = "", main = "palette(gray(0:8/12))")

palette 기본 색상으로 변경, R 재부팅 후 자동 복구
palette("default")

1.2 colors()
colors()에는 657가지 색상 이름이 있습니다.
par(mfrow = c(1, 2),mai=c(0.1,0.1,0.5,0.1))
pie(rep(1,657), col=colors(), border = colors(), labels = "", main = "colors()")
pie(rep(1,27), col=colors()[grep('red', colors())], 
    border = colors()[grep('red', colors())], 
    labels = "", main = "colors()[grep('red', colors())]")

2. 색 공간
2.1 RGB 색상
pie(rep(1,3), col = c(rgb(1,0,0),rgb(0,1,0),rgb(0,0,1)))

색상 이름을 RGB 색상으로 변환
col2rgb(c("blue", "yellow"))
##       [,1] [,2]
## red      0  255
## green    0  255
## blue   255    0

2.2 HSV 색상
par(mfrow = c(1, 2),mai=c(0.1,0.1,0.5,0.1))
hsv_seq 

RGB 색상을 HSV 색상으로 변환
rgb2hsv(col2rgb("blue"))
##        [,1]
## h 0.6666667
## s 1.0000000
## v 1.0000000

2.3 HCL 색상(Hue, Chroma, Luminance)
pie(rep(1,30), col = hcl(seq(0, 360, length = 30)), labels = "", main = "HCL")

3. Color Gradients/Color Ramps 그라데이션
3.1 자체 그라데이션
R 자체의grDevices 패키지는 다음과 같은 6개의 팔레트가 있는데 색을 얻는 개수를 입력하면 해당 개수의 색 목록을 얻을 수 있고gray()의 매개 변수는 [0,1]에 있어야 한다.
rainbow()、heat.colors()、terrain.colors()、topo.colors()、cm.colors()、gray()
par(mfrow = c(2, 3),mai=c(0.1,0.1,0.5,0.1))
pie(rep(1, 12), col = rainbow(12), labels = "", main = "rainbow")
pie(rep(1, 12), col = heat.colors(12), labels = "", main = "heat")
pie(rep(1, 12), col = terrain.colors(12), labels = "", main = "terrain")
pie(rep(1, 12), col = topo.colors(12), labels = "", main = "topo")
pie(rep(1, 12), col = cm.colors(12), labels = "", main = "cm")
pie(rep(1, 12), col = gray(0:12 / 12), labels = "", main = "gray")

3.2 colorRamp() 및 colorRampPalette()
colorRamp () 와 colorRampPalette () 는 모두 색판을 만드는 데 사용할 수 있습니다.파란색, 자색, colorRamp (), colorRampPalette 등 원하는 주요 색을 보내면 함수를 되돌려줍니다.양자가 되돌아오는 함수는 다음과 같다. colorRamp()가 되돌아오는 함수는grey()와 같이 [0,1] 사이의 수열에 들어가고 수열의 숫자 개수는 함수가 되돌아오는 색판 색채수이다.colorRampPalette () 가 되돌아오는 매개 변수는 rainbow () 와 같이 색판의 색을 되돌려 주기를 원하는 수량입니다.그리고 다음 예에서 알 수 있듯이 colorRampPalette () 는 점차적인 색판 함수를 되돌려주고, colorRamp () 는 대비 색판 함수를 되돌려줍니다.다 같은 색이지만 결과는 다르다.
par(mfrow = c(1, 2),mai=c(0.1,0.1,0.5,0.1))
b2p1 

3.3 RcolorBrewer 패키지
Rcolor Brewer 가방에 실제로 쓰이는 건 brewer밖에 없다고 했지만.pal () 함수이지만 가방의 두 가지 장점이 매우 실용적입니다.첫째, 가방의 색판은 서열형(sequential), 이산형(diverging), 유형별(qualitative) 세 가지로 나뉘어 통계 작성의 수요를 충족시킬 수 있는 유형이다.둘째, 색깔이 모두 비교적 조화롭다.더 많은 것은 홈페이지 ColorBrewer를 참조합니다.
각 계열의 색상 수량은 고정되어 있습니다.
시퀀스형 색판은 낮은 색에서 높은 색으로 정렬된 뚜렷한 데이터에 적합하며 옅은 색의 숫자는 작고 짙은 색의 숫자는 크다.
library(RColorBrewer)
display.brewer.all(type = "seq")

유형별 색판은 유형별 데이터를 구분하기에 비교적 적합하다.
display.brewer.all(type = "qual")

이산형 색판은'정, 음'을 가진 극치와 중간치를 비교적 중시하는 데이터에 적합하다.
display.brewer.all(type = "div")

3.4 그라데이션 작성
HSV 및 HCL을 사용하여 원하는 그래디언트 작성
par(mfrow = c(1, 2),mai=c(0.1,0.1,0.5,0.1))
hsv_seq 

참고 자료
  • R 언어의 색상 및 팔레트
  • Color Palettes in R
  • Using Color in R
  • HCL Color scheme
  • 좋은 웹페이지 즐겨찾기