Обходной путь, используя nudge_y и position = аргумент вместе, ggplot2 - PullRequest
1 голос
/ 10 апреля 2020

Я пытаюсь выровнять линии лидеров от моих аннотаций до их соответствующих пунктов. Точки и их соединительные линии были подвергнуты дрожанию с помощью position = position_jitterdodge (0.05), которые не учитываются в ведущих линиях. Поскольку я использовал nudge_y для выравнивания надписей в строках выше и ниже точек, я также не могу использовать аргумент position = position_jitterdodge (0.05) в geom_text_repel (). Кто-нибудь знает, как я могу go привести эти линии лидеров в соответствие с пунктирными точками, сохраняя при этом аннотации на своих текущих позициях? Ниже приведен код, который я использую, и изображение моего графика.

ggplot(data = LGR_Data, aes(x = Proj_Year, y = Max_Tidbit_Temp, group = PermID, color = `CTRL/LOGJ`, shape = `CTRL/LOGJ`, fill = `CTRL/LOGJ`)) + 
  geom_line(linetype = "dotted", size = 0.5, position = position_jitterdodge(0.05)) + geom_point(size = 2, position = position_jitterdodge(0.05)) + geom_text_repel(data = subset (LGR_Data, Max_Tidbit_Temp > 23), aes(label = PermID), size = 1, nudge_y = 28 - subset(LGR_Data, Max_Tidbit_Temp > 23)$Max_Tidbit_Temp, direction = "x", angle = 45) + 
  geom_text_repel(data = subset (LGR_Data, Max_Tidbit_Temp < 23), aes(label = PermID), size = 1, nudge_y = 18 - subset(LGR_Data, Max_Tidbit_Temp <= 23)$Max_Tidbit_Temp, direction = "x", angle = 45)

Here's what the current graph looks like

Я опустил много форматирования на графике, чтобы минимизировать длину приведенного выше кода блок.

Данные.

LGR_Data <- 
structure(list(PermID = c("PN1301", "PN1303", "PN1304", 
"PN1310", "PN1313", "PN2124", "PN1307", "PN2124", 
"PN2230", "PN2124"), Proj_Year = c(-1, -1, -1, -1, -1, 
-3, -1, -2, -2, -1), CTRL/LOGJ = c("LOGJ", "LOGJ", 
"LOGJ", "LOGJ", "LOGJ", "LOGJ", "LOGJ", "LOGJ", 
"LOGJ", "LOGJ"), Max_Tidbit_Temp = c(23.857, 24.605, 
24.002, 24.098, 24.243, 23.665, 24.026, 22.8, 22.824, 
21.915)), class = c("tbl_df", "tbl", "data.frame"), 
row.names = c(NA, -10L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...