如何增加geom_text中标签的间隔?

时间:2019-06-04 12:19:51

标签: r ggplot2 geom-text

我正在尝试将标签放置在地理坐标上彼此非常接近的一些点旁边。当然,问题在于标签重叠。我已将以下帖子用作参考:

问题是我不想重定位标签,而是增加了标签间隔(例如,每隔10点)。

我试图在数据框中将列设置为alpha,以使不需要的点透明化

[![combined_df_c$alpha=rep(c(1,rep(0,times=11)),
                        times=length(combined_df_c$time)/
                          length(rep(c(1,rep(0,times=11)))))][1]][1]

我不知道为什么它不影响图并再次绘制所有标签。

预期的输出是我的绘图上的标签更少。

[plot]

1 个答案:

答案 0 :(得分:1)

您可以通过对geom_text实验的数据帧进行排序来实现。

为此,我使用了内置数据集mtcars,因为您未提供任何数据。使用df[seq(1,nrow(df),6),],我分6步对数据进行切片。这是随后在图形中显示的标签。您可以将其用于任何所需的步骤。切片的数据帧已提供给geom_text,因此它不再使用原始数据集,而仅使用切片的数据集。这样,标签的点数和标签的数相等。

df <- mtcars
labdf<- df[seq(1,nrow(df),6),]
ggplot()+
    geom_point(data=df, aes(x=drat, y=seq(1:length(drat))))+
    geom_text(data=labdf,
        aes(x=drat, y=seq(1:length(drat))), label=labdf$drat)

输出符合预期:从32行中,只有6行被标记。 plot

您可以轻松调整案例代码。


还:您可以将aes放在ggplot()中,如果您使用的数量多于gemo_point,则可能会更有用。我这样做是这样,所以我可以澄清一下:geom_text()

上使用了不同的数据集