我需要为不同的84类型的不同向量表示法绘制Tsne
。
library(Rtsne); library(ggplot2)
mydata <- read.table("tsneVectors.tsv", header=FALSE, sep="\t")
matrixdata <- data.matrix(mydata)
tsne <- Rtsne(as.matrix(matrixdata[ ,2:201]), check_duplicates = FALSE, pca = FALSE,
perplexity=30, theta=0.5, dims=2)
tsne_plot <- data.frame(x = tsne$Y[ ,1], y = tsne$Y[ ,2], col = matrixdata[ ,202])
ggplot(tsne_plot) + geom_point(aes(x=x, y=y, color=factor(col))) +
labs(x="", y="", col="col")+theme(legend.title=element_blank()) +
theme(panel.border = element_rect(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black")) + theme_bw()
问题是,尽管颜色看起来是连续的,但有时很难看到它们之间的区别。
那么,有什么方法可以设置不同的颜色以更清晰地看到不同的组?
答案 0 :(得分:2)
我认为甚至不可能找到84种易于识别的颜色。
将它们分成多块,每块10-15组。
具有gridExtra
功能的grid.arrange()
软件包对此很有用。
答案 1 :(得分:1)
也许您可以尝试根据适当的切点来打破连续变量。使用cut
很简单,它根据颜色落入的间隔将色彩美感的范围划分为标记的间隔。
library(ggplot2)
col_intervals <- 3
ggplot(data = mtcars, aes(x=mpg, y=wt, colour = cut(hp, col_intervals)) ) +
geom_point()
另一个选择
ggplot(data = mtcars, aes(x=mpg, y=wt) ) +
geom_point(aes(colour = hp)) +
scale_colour_gradientn(colours = terrain.colors(10))