这个有点复杂。我花了几个小时来解决它。我用ggtern制作了一个三角形图,该软件包必须手动从存档中安装,因为它已被删除。
我的数据在这里:https://osf.io/xmagp/
如果您安装了ggtern软件包,此代码应该可以让图像正常工作。
library("ggplot2")
library(ggtern)
library("directlabels")
DF = read.csv("AdmixtureInAmericasData_v3.csv", #this loads John's data
row.names=1) #first col as rownames
temp = DF[which(DF$US.State==1),] #subset
US.plot = ggtern(data=temp,
aes(x=Eugenomefilledratio,
y=Afrgenomefilledratio,
z=Amergenomefilledratio)) +
xlab("Euro") +
ylab("Afri") +
zlab("Amer") +
tern_limits(T=.4, L=1, R=.4) +
ggtitle("Admixture estimates for US states") +
theme(plot.title = element_text(face="bold")) +
geom_point() +
geom_text(aes(label=rownames(temp)), size=3, fontface="bold", color="navyblue", alpha=.5,hjust=-0.1, position = "jitter")
US.plot
direct.label(US.plot)
除了最后一行外,这应该会产生(我认为相当整洁):
当我尝试使用directlabels命令时,我得到了这个:
Error in direct.label.ggplot(US.plot) :
Need colour aesthetic to infer default direct labels.
有什么想法吗?从阅读帮助文档来看,它似乎只适用于具有分组数据点的情况,而在我这种情况下没有。是否可能使其正常工作?还有其他方法吗?我已查看了较旧的问题及其答案,但没有看到任何有用的信息。