Добавьте строку, указывающую на важную точку, с помощью geom_label()

#r #ggplot2 #label

Вопрос:

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

Воспроизводимый пример с использованием солнечного пятна R.данные за год:

 dat <- data_frame(NumSunSpots = sunspot.year, Year = c(1700:1988))

dat %>% 
ggplot(aes(Year, NumSunSpots)) 
geom_line() 
geom_label(aes(x = 1952, y = 175, label ="Look at what is happening!"), vjust = 1, hjust = 1)
 

Пример изображения

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

2. Я думаю, что это довольно ясно… Моей конкретной проблемой было создание текстовой метки с линией, указывающей на точку на графике. Я также сделал изображение для людей, которые не хотят читать. Я не думаю, что это может быть проще, чем это, ха-ха

Ответ №1:

используйте geom_segment для простой стрелки:

Поиграйте с x, y xend и yend, чтобы привести в нужное положение:

 dat <- data_frame(NumSunSpots = sunspot.year, Year = c(1700:1988))

dat %>% 
    ggplot(aes(Year, NumSunSpots)) 
    geom_line() 
    geom_label(aes(x = 1952, y = 175, label ="Look at what is happening!"), vjust = 1, hjust = 1)  
    geom_segment(aes(x = 1900, y = 250, xend = 1950, yend = 200),
                     arrow = arrow(length = unit(0.5, "cm")))

 

введите описание изображения здесь