Измените символы легенды с помощью geomnet - PullRequest
0 голосов
/ 05 августа 2020

У меня есть данные, которые я хотел бы отобразить как сеть с пакетом geo mnet. Некоторые узлы окрашены в соответствии с категориальными данными.

Тем не менее, я считаю, что легенда вводит в заблуждение, поскольку, кажется, описывает ребра, а не узлы: исходная сеть . Я бы хотел, чтобы в легенде (и только в легенде) отображалась только одна точка для каждого элемента.

До сих пор мне удалось изменить каждую часть символа с помощью соответствующего кода ( netowrk с измененной легендой ), но мне трудно понять, как я могу просто удалить символ c и выбрать свой собственный.

Я пытался установить show.legend = FALSE в функции geom _net, но не может воссоздать его с помощью scale_shape_manual или аналогичных функций.

Воспроизводимый пример:

library(geomnet)
data("football")

# data step: merge vertices and edges
ftnet <- fortify(as.edgedf(football$edges), football$vertices)

# create data plot
gg <- ggplot(data = ftnet,
             aes(from_id = from_id, to_id = to_id)) +
  geom_net(layout.alg = 'fruchtermanreingold',
           aes(colour = value, group = value,
               linetype = factor(same.conf != 1)),
           linewidth = 0.5,
           size = 5, vjust = -0.75, alpha = 0.3) +
  theme_net() +
  theme(legend.position = "bottom") +
  scale_colour_brewer("Conference", palette = "Paired")  +
  guides(linetype = FALSE)

gg

# my attempt: change the type of line and point in legend symbol
gg <- gg +  guides(colour = guide_legend(override.aes = list(linetype = c(point = 0), shape = 8))) 

Большое спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...