【发布时间】:2017-02-26 06:44:11
【问题描述】:
希望有人可以帮助我解决这个问题。我尝试了几种解决方案,但均未成功。
我想复制下图#1。因此,我已将变量时钟(值从 1 到 12)添加到我的数据框中,以将其用作 geom_text 对齐的参数。
我要复制的图:
我的图:
按照我的代码进行绘图:
p1 <- ggplot(data, aes(x=tax, y=employment)) + geom_point(colour = ifelse(style == 1 | style == 2,"black","grey")) + geom_smooth(method=lm, se=FALSE)
p1 + coord_cartesian(xlim = c(0, 0.8), ylim = c(0.5,0.9), expand = FALSE) + labs(x = "1 - participation taxrate", y="Employment rate") + geom_text(aes(family = "Times New Roman", label=ifelse(style == 1 | style == 2 ,Country,''))) + theme_bw()
【问题讨论】:
-
您会对更清晰的标签(即更少/没有重叠)感到满意,还是想要完全重新制作示例图?
-
@NathanDay 如果可能的话,我想根据我的时钟变量定位文本。否则,我会尝试使用 ggrepel 使其更清晰。还是您有更简单的解决方案?
-
您可以使用
position = position_nudge()为 x 和 y 设置适当的值。 -
我自己会退回到
ggrepel。看起来@shadow 可能会有所作为,我打算用 hjust 和 vjust 尝试同样的想法
标签: r ggplot2 text-alignment geom-text