这个有点复杂。我花了几个小时试图解决它。我有一个使用 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.
有什么想法吗?通过阅读帮助,看起来它应该在您分组数据点时起作用,在这种情况下我没有。是否有可能使其工作?还有其他方法吗?我查看了较旧的问题及其答案,并没有看到任何有用的信息。