Ich versuche, die Beschriftungen mit den Werten einer glatten Linie auszurichten. Während andere Antworten, die ich gesehen habe, vorschlagen, eine Datenspalte vorhergesagter Werte zu erstellen, suche ich nach einer saubereren Alternative, die die Daten verwendet, die bereits für den ggplot produziert werden.ggplot: etikettierung von geom_smooth/stat_smooth-Werten bei korrektem Wert
Siehe Beispiel unten für das Problem:
require(tidyverse)
require(ggrepel)
set.seed(1)
df <- data.frame(x = rep(1:100, 5), y = c(sample(1:20, 100, T), sample(21:40, 100, T), sample(41:60, 100, T), sample(61:80, 100, T), sample(81:100, 100, T)), group = rep(letters[1:5], each = 100))
df <- tbl_df(df)
df %>%
ggplot(aes(x = x, y = y, label = group, color = group)) +
geom_smooth() +
guides(color = F) +
geom_text_repel(data = . %>% filter(x == max(x)), aes(x = x, y = y, label = group), nudge_x = 50)
Gibt es irgendeine Art und Weise den glatten Linienwert bei max zu erhalten (x) ohne ggplot_build() oder einen anderen externen, mehrstufiges Ansatz?