У меня есть схема сети, которая выглядит следующим образом: ![enter image description here](https://i.stack.imgur.com/N4gOM.jpg)
Я сделал это с помощью ggraph и добавил метки с помощью geom_nodelabel_repel () из ggnetwork:
( ggraph_plot <- ggraph(layout) +
geom_edge_fan(aes(color = as.factor(responses), edge_width = as.factor(responses))) +
geom_node_point(aes(color = as.factor(group)), size = 10) +
geom_nodelabel_repel(aes(label = name, x=x, y=y), segment.size = 1, segment.color = "black", size = 5) +
scale_color_manual("Group", values = c("#2b83ba", "#d7191c", "#fdae61")) +
scale_edge_color_manual("Frequency of Communication", values = c("Once a week or more" = "#444444","Monthly" = "#777777",
"Once every 3 months" = "#888888", "Once a year" = "#999999"),
limits = c("Once a week or more", "Monthly", "Once every 3 months", "Once a year")) +
scale_edge_width_manual("Frequency of Communication", values = c("Once a week or more" = 3,"Monthly" = 2,
"Once every 3 months" = 1, "Once a year" = 0.25),
limits = c("Once a week or more", "Monthly", "Once every 3 months", "Once a year")) +
theme_void() +
theme(legend.text = element_text(size=16, face="bold"),
legend.title = element_text(size=16, face="bold")) )
Я хочу, чтобы надписи на левой стороне графика были расположены слева, а надписи на правой стороне графика - справа. Я хочу сделать это, потому что фактические метки довольно длинные (названия организаций), и они мешают линиям на реальном графике.
Как я могу сделать это, используя geom_nodelabel_repel ()? Я пробовал разные комбинации box_padding и point_padding, а также h_just и v_just, но они применяются ко всем меткам, и не похоже, что есть способ подмножества или положения, определяющих c точек.
Извиняюсь за то, что не привел воспроизводимый пример, но я не был уверен, как это сделать, не ставя под угрозу личность респондентов из моего опроса.