geom_text добавляет ненужные элементы в geom_point / color legend - PullRequest
0 голосов
/ 08 января 2020
Data <- data.table(Genotype='Test',Color=c('Ref','NAM','Core Collection'),Group=c('Elite Lines','Core Collection'),V2=c(3000,6000),TrNorm=c(1,2))
Labels <- data.table(LabColor=c('Elite Lines','Core Collection'),Label=c('Label1','Label2'),x=c(1.96,1.96),y=c(5980,5851))

ggplot(data=Data,aes(x=TrNorm,y=V2,color=Color,group=Group)) +
geom_text(data=Labels,aes(x=x,y=y,label=Label,color=LabColor),inherit.aes=F,show.legend=F) + 
geom_point()

Как вы видите, geom_text добавляет 'Elite Lines' к легенде, которая не должна быть там, поскольку ее нет в Data $ Color.

enter image description here

1 Ответ

1 голос
/ 08 января 2020

Цветовая легенда объединяет цвета, заданные в точечном и текстовом слоях. Вы можете установить разрывы так, чтобы они включали только значения, найденные в Data$Color:

ggplot(data=Data,aes(x=TrNorm,y=V2,color=Color)) +
  geom_text(data=Labels,aes(x=x,y=y,label=Label,color=LabColor),inherit.aes=F,show.legend=F) +
  geom_point()+
  scale_color_discrete(breaks = unique(Data$Color))
...