用tkplot改变边缘厚度(Igraph,R)

时间:2013-07-11 00:41:08

标签: r igraph tkplot

我想知道在使用tkplot()

时是否有办法改变边缘厚度

我知道你可以通过右键单击边缘并手动更改它来完成它,但我希望能够调用一个属性用于边缘。类似于在igraph中使用常规绘图功能,我可以edge.width=E(g)$Weight

另外,有没有办法在不使用其他软件包的情况下将tkplot保存为png? 谢谢!

1 个答案:

答案 0 :(得分:5)

是的,您可以更改边缘宽度,实际上它的工作方式与plot()完全相同。

Tk画布不支持PNG格式,因此您无法在PNG中保存tkplot()输出。如果您使用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()

example output figure