如何增加geom_text中标签的间隔?
How to increase the interval of labels in geom_text?
我试图将标签放在地理坐标上彼此非常接近的一些点旁边。当然,问题是标签重叠。我使用了以下帖子作为参考:
- avoid overlapping labels in ggplot2 charts
- Relative positioning of geom_text in ggplot2?
问题是我不想重新定位标签而是增加标签的间隔(例如每隔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]
不知道为什么不影响出图,所有标签都重新出图
预期输出是我图上的标签较少。
您可以通过为 geom_text 的实验室对数据框进行排序来完成此操作。
我为此使用了 build-in 数据集 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 行被标记。
您可以根据自己的情况轻松调整代码。
另外:您可以将 aes 放在 ggplot()
中,如果您使用更多而不只是 gemo_point
,这可能会更有用。我是这样做的,所以我可以澄清一下:geom_text()
上使用了不同的数据集
我试图将标签放在地理坐标上彼此非常接近的一些点旁边。当然,问题是标签重叠。我使用了以下帖子作为参考:
- avoid overlapping labels in ggplot2 charts
- Relative positioning of geom_text in ggplot2?
问题是我不想重新定位标签而是增加标签的间隔(例如每隔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]
不知道为什么不影响出图,所有标签都重新出图
预期输出是我图上的标签较少。
您可以通过为 geom_text 的实验室对数据框进行排序来完成此操作。
我为此使用了 build-in 数据集 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 行被标记。
您可以根据自己的情况轻松调整代码。
另外:您可以将 aes 放在 ggplot()
中,如果您使用更多而不只是 gemo_point
,这可能会更有用。我是这样做的,所以我可以澄清一下:geom_text()