У меня есть XY
данные (2D tSNE
вложение данных больших размеров), которые я бы хотел scatter plot
. Данные назначены нескольким cluster
с, поэтому я хотел бы закрасить точки с помощью cluster
, а затем добавить одну метку для каждого cluster
, которая имеет ту же цветовую кодировку, что и cluster
с, и находится снаружи (в максимально возможной степени) от точек cluster
.
Есть идеи, как это сделать, используя R
в ggplot2
и ggrepel
или plotly
?
Вот пример данных (координаты XY
и назначения cluster
в df
и метки в label.df
) и часть ggplot2
:
library(dplyr)
library(ggplot2)
set.seed(1)
df <- do.call(rbind,lapply(seq(1,20,4),function(i) data.frame(x=rnorm(50,mean=i,sd=1),y=rnorm(50,mean=i,sd=1),cluster=i)))
df$cluster <- factor(df$cluster)
label.df <- data.frame(cluster=levels(df$cluster),label=paste0("cluster: ",levels(df$cluster)))
ggplot(df,aes(x=x,y=y,color=cluster))+geom_point()+theme_minimal()+theme(legend.position="none")