首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ggtern避免使用ggplot2和directlabels重叠标签

使用ggtern避免使用ggplot2和directlabels重叠标签
EN

Stack Overflow用户
提问于 2015-03-25 22:23:49
回答 1查看 1K关注 0票数 3

这个有点复杂。我花了几个小时来解决这个问题。我有一个三角图与ggtern,一个软件包,必须手动安装从档案,因为它被删除。

我的数据在这里:https://osf.io/xmagp/

如果您安装了ggtern软件包,此代码将使绘图工作。

代码语言:javascript
复制
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命令时,我得到以下内容:

代码语言:javascript
复制
Error in direct.label.ggplot(US.plot) : 
  Need colour aesthetic to infer default direct labels.

有什么想法吗?从阅读“帮助”中可以看出,当您对数据点进行分组时,它就会正常工作,在本例中,我没有这种情况。有可能让它起作用吗?还有别的办法吗?我看过以前的问题和答案,没有看到任何有用的东西。

EN

回答 1

Stack Overflow用户

发布于 2016-01-18 06:52:19

尝试此操作,我将需要将直接标签作为已批准的几何图形添加到包中,在此期间,这是访问包含已批准几何图形列表的未导出隐藏对象的一种方法:

注意,我无法在上面的链接中访问您的数据,因此,为了演示的目的,我只使用了Feldspar集和ggtern

代码语言:javascript
复制
#Required Libraries
library(directlabels)
library(ggtern)

#Build Sample plot
data(Feldspar)
base <- ggtern(Feldspar,
               aes(Ab,An,Or,group=Feldspar,colour=Feldspar)) + 
        geom_point() +
        geom_mask() #Manual Clipping Mask as Last Layer

#Hack
.approvedgeom = c(ggtern:::.approvedgeom,c('GeomDl'))
assignInNamespace('.approvedgeom',
                   .approvedgeom,
                   envir=as.environment('package:ggtern'))

#Render the directlabels
direct.label(base)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29267679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档