Измените толщину края с помощью tkplot (Igraph, R)

Мне было интересно, есть ли способ изменить толщину края при использовании tkplot()

Я знаю, что вы можете сделать это, щелкнув правой кнопкой мыши край и изменив его вручную, но я хотел бы иметь возможность вызывать атрибут для использования для края. Подобно использованию обычной функции построения графика в igraph, где я могу сделать edge.width=E(g)$Weight

Кроме того, есть ли способ сохранить tkplot в формате png без использования других пакетов? Спасибо!


person Judy    schedule 11.07.2013    source источник


Ответы (1)


Да, вы можете изменить ширину края, на самом деле это работает точно так же, как и для plot().

Холст Tk не поддерживает формат PNG, поэтому вы не можете сохранить вывод tkplot() в формате PNG. Если вы используете tkplot() для настройки координат, затем используйте tkplot.getcoords() для запроса скорректированных координат, а затем используйте plot() с этими координатами для создания файла PNG.

library(igraph)
g <- graph.ring(10)
id <- tkplot(g, edge.width=1:10)
## Now adjust the coordinates by hand, and then continue.
## E.g. I moved vertex 7 to the middle
co <- tkplot.getcoords(id)
png("output.png")
plot(g, layout=co, edge.width=1:10)
dev.off()

пример вывода

person Gabor Csardi    schedule 11.07.2013
comment
Который из? Ширина края или tkplot.getcoords? В любом случае, я покажу их обоих через секунду. - person Gabor Csardi; 11.07.2013