2013-01-17 2 views
3

데이터 프레임이 R입니다. 각 데이터 프레임 내에 8 개의 변수가 있습니다.barplot() 열의 범주 수를 기반으로하는 막대의 회색 색상이 다릅니다.

하나의 특정 변수의 값을 기반으로 막대에 여러 가지 음영을 지정하려는 바 plot을 만들고 싶습니다.

barplot(x$cov, names.arg = x$exon, 
    xlab = x$gene[1], 
    ylab = "read depth" , 
    border = gray.colors(???)) 

이 변수 엑손은 정수로 구성되어있다 :

내가 barplot을 만든 방법이다. 예 :

0 0 0 0 1 1 1 2 2 3 3 3 3 4 4 4 

그래서 내가하는 $exon = 0에 대한 등등 한 회색의 다른 그늘에서 $exon = 1 회색 모든 바의 그늘에있을 모든 막대를 원하는 ...

사람이 줄 수 나 손?

답변

7

우선, covexon 값을 포함하는 샘플 데이터 프레임을 정의한다.

x<-data.frame(cov=sample(1:20,20),exon=rep(0:4,each=4)) 

중고 인수 col= 대신 border=이 예에서 잘 볼 수있다.

회색 색상의 벡터는 고유 값 길이 인 exon으로 만들어집니다. 그 다음 []exon 값에 따라 각 막대의 색상을 선택하는 데 사용됩니다.

barplot(x$cov, names.arg = x$exon, 
     ylab = "read depth" , 
     col = gray.colors(length(unique(x$exon)))[as.factor(x$exon)]) 

enter image description here

관련 문제