그라데이션 채색 체계가있는 ggplot
데이터를 가지고 있으며 일부 포인트에 주석을 달았습니다.geom_point에 geom_text_repel 레이어를 scale_colour_gradient2로 채색하십시오.
내 데이터 : 내가 노력하고있어 ggplot
코드의 여기
df$col[sample(nrow(df), 10, replace = F)] <- rainbow(10)
을 그리고 :
여기df <- data.frame(id = rep(LETTERS,100),
val1 = rnorm(100*length(LETTERS)), val2 = rnorm(100*length(LETTERS)),
sig = runif(100*length(LETTERS),0,1),
col = NA,stringsAsFactors = F)
나는 주석과 색상을 그들에게주고 싶은 몇 가지 포인트를 선택
library(ggplot2)
library(ggrepel)
ggplot(df,aes(x=val1,y=val2,color=col))+
geom_point(aes(color=sig),cex=2)+scale_colour_gradient2("Significance",low="darkred",mid="darkblue",high="darkred")+
geom_text_repel(data=dplyr::filter(df,!is.na(col)),aes(x=dplyr::filter(df,!is.na(col))$val1,y=dplyr::filter(df,!is.na(col))$val2,label=dplyr::filter(df,!is.na(col))$id,colour=dplyr::filter(df,!is.na(col))$col))+
theme_minimal()+theme(legend.position="none")
이 오류가 발생합니다 :
Error: Discrete value supplied to continuous scale
아이디어가 있으십니까?
덕분에 많이 @missuse. 색 구성표를 이산화하는 것이 유일한 해결책이라고 생각하십니까? – dan
@ 단, 다른 해결책을 추가했습니다. 편집 확인 – missuse