Ответ 1
Используйте edge.label.cex
и edge.label.dist
в функции plot
. Я думаю, это работает!
Я хотел бы переместить позицию метки метки, чтобы она не была поверх нее. Вот небольшой пример:
g <- graph.empty(n=3)
g <- graph(c(1,2,3,2,1,3), directed=T)
E(g)$weight <- c(3,2,5)
plot(g, edge.label = E(g)$weight)
В моем примере метки находятся на краях, и я хочу, чтобы они немного перпендикулярно к краю.
Используйте edge.label.cex
и edge.label.dist
в функции plot
. Я думаю, это работает!
Извините, что парень, который говорит "Как насчет использования библиотеки (х)?"
Мой код с помощью ggraph?
library(igraph)
library(ggraph)
g <- graph.empty(n=3)
g <- graph(c(1,2,3,2,1,3), directed=T)
E(g)$weight <- c(3,2,5)
#your plot
plot(g, edge.label = E(g)$weight)
#using ggraph
ggraph(graph = g) +
geom_node_circle(size = 1, mapping = aes(r =0.03), fill="goldenrod") +
geom_edge_link(mapping = aes (label = weight),
arrow = arrow(type = "closed", angle = 15),
end_cap = circle(8, 'mm'), ,
start_cap = circle(8, 'mm'),
colour="grey",
label_dodge = unit(5, "mm"),
angle_calc = "along") +
geom_node_text(mapping = aes(label = "2")) +
theme_graph()