Как увеличить интервал меток в geom_text? - PullRequest
1 голос
/ 04 июня 2019

Я пытаюсь поместить метки рядом с некоторыми точками, которые очень близки друг к другу по географической координате. Конечно, проблема заключается в наложении ярлыков. Я использовал следующие посты для справки:

Проблема в том, что я не хочу перемещать метки, а увеличиваю интервал меток (например, каждые 10 других точек).

Я пытался сделать столбец альфа в моем фрейме данных, чтобы сделать ненужные точки прозрачными

[![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 Ответ

1 голос
/ 04 июня 2019

Вы можете сделать это, упорядочив ваш фрейм данных для лабораторий 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()

...