R 每组几何图形文字位置

R 每组几何图形文字位置,r,ggplot2,R,Ggplot2,我正在使用geom_线,geom_点,和geom_文本绘制如下图片: 我正在对数据框进行分组和着色,但我希望geom_文本之间不要太近。 我想把一个文本放在上面,另一个放在下面。或者至少,隐藏其中一个。有什么方法可以做到这一点吗?您可以在不同的geom_text()调用中指定自定义美学。在每次调用中只能包含数据的一个子集(例如仅一个组),并为每个子集中的geom_text()提供一个自定义hjust或vjust值 ggplot(dat, aes(x, y, group=mygroups, co

我正在使用
geom_线
geom_点
,和
geom_文本
绘制如下图片:

我正在对数据框进行分组和着色,但我希望
geom_文本
之间不要太近。
我想把一个文本放在上面,另一个放在下面。或者至少,隐藏其中一个。有什么方法可以做到这一点吗?

您可以在不同的
geom_text()
调用中指定自定义美学。在每次调用中只能包含数据的一个子集(例如仅一个组),并为每个子集中的
geom_text()
提供一个自定义
hjust
vjust

ggplot(dat, aes(x, y, group=mygroups, color=mygroups, label=mylabel)) +
geom_point() + 
geom_line() + 
geom_text(data=dat[dat$mygroups=='group1',], aes(vjust=1)) + 
geom_text(data=dat[dat$mygroups=='group2',], aes(vjust=-1))

您可以在不同的
geom_text()
调用中指定自定义美学。在每次调用中只能包含数据的一个子集(例如仅一个组),并为每个子集中的
geom_text()
提供一个自定义
hjust
vjust

ggplot(dat, aes(x, y, group=mygroups, color=mygroups, label=mylabel)) +
geom_point() + 
geom_line() + 
geom_text(data=dat[dat$mygroups=='group1',], aes(vjust=1)) + 
geom_text(data=dat[dat$mygroups=='group2',], aes(vjust=-1))

据我所知,除非您喜欢手动调整位置,
FField
可能是最好的半自动解决方案。有没有办法向
hjust
vjust
提供数组?(根据组的数量…)不,没有为hjust和vjust提供多个值的工具。除了上面链接的问题外,还有一个类似的问题,其中提到了许多相同的选项。据我所知,除非您喜欢手动调整位置,
FField
可能是最好的半自动解决方案。有没有办法向
hjust
vjust
提供数组?(根据组的数量…)不,没有为hjust和vjust提供多个值的工具。除了上面链接的问题,还有一个类似的问题,上面提到了许多相同的选项。这就是我想做的!谢谢@Paschalis指出,虽然这很聪明,但它只在有限的情况下起作用:如果每组中的所有点彼此具有相同的相对位置。i、 e.第一组的所有分数都高于第二组的相应分数。这就是我想做的!谢谢@Paschalis指出,虽然这很聪明,但它只在有限的情况下起作用:如果每组中的所有点彼此具有相同的相对位置。i、 e.第1组中的所有点都位于第2组中每个对应点的上方。