【发布时间】:2018-12-09 18:01:49
【问题描述】:
我有XY 数据(二维tSNE 嵌入高维数据),我想scatter plot。数据分配给几个clusters,所以我想用cluster对点进行颜色编码,然后为每个cluster添加一个标签,它的颜色编码与clusters相同,并且位于cluster 点之外(尽可能地)。
知道如何在ggplot2 和ggrepel 或plotly 中使用R 执行此操作吗?
这是示例数据(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")
【问题讨论】:
标签: r ggplot2 plotly scatter-plot ggrepel