2018년 7월 18일 수요일

[하루에 한 R] 텍스트에 색깔 입히기

R에서 colors() 함수를 실행시키면 총 657 개의 색깔 단어가 나타난다. "black", "yellowgreen"과 같이 영단어로 표현 가능한 색상이 657 가지라는 뜻이다. RGB 또는 hex code를 사용하면 더 많은 종류의 색깔을 표현할 수 있다. 다음 PDF 파일을 컬러프린터로 인쇄하여 책상 옆에 붙여두면 쓸모가 많을 것이다. 우리식 콩글리시 표현으로는 '컨닝페이퍼'에 해당한다.

R colors cheatsheet (PDF 파일)
R Colors by Name (PDF 파일)
R Color Tables 색상표를 만드는 R 코드 소개(일단 실행해 보는 것을 추천!)
[참고용] 256 Colors - Cheat sheet

수만 가지의 색을 모니터 혹은 이미지 파일로 표현할 수는 있지만 텍스트에 입힐 수 있는 색은 한정적이다. 다음의 예를 보자.

노랑 글씨  노랑 바탕 위의 검정 글씨

왼쪽은 글자 자체를 노란색으로 쓴 것이다. 뭐가 있다는 것은 알겠는데 마우스로 긁어서 반전을 시키지 전에는 무슨 정보를 담고 있는지 알 수가 없다. 그러므로 실제 텍스트에 색을 입혀서 미리 확인을 해 보는 것이 좋을 것이다. 이를 위해서 사용할 수 있는 매우 적당한 함수가 있으니 그것이 바로 textplot()이다.

R colors 자료에서 스무 개 정도의 색상 단어를 뽑은 뒤 다음의 코드를 실행하여 실제로 표현해 보았다. 실제로 바꿀 것은 cols 벡터와 ncol 파라미터뿐이다.

cols = c("red","aquamarine3","blue","brown","cadetblue",
         "chartreuse","chocolate","darkgoldenrod","darkmagenta","darkgreen",
"khaki4","grey","black","cyan","purple",
"yellowgreen","firebrick","hotpink4","limegreen","salmon3")
mat = cbind(name=cols, t(col2rgb(cols)), hex=col2hex(cols))
textplot(mat,col.data=matrix(cols, nrow=length(cols), byrow=FALSE, ncol=5))

결과를 보자.

왠지 탁하고 칙칙한 느낌이 들지 않는가? 나의 색상 선택 센스가 영 꽝이라는 것을 알겠다. 미적 감각이라는 것은 타고 나야 하는 것이라서 훈련으로 나아지는 데에는 한계가 있다.

댓글 없음: