更改tkplot(igraph,R)的背景颜色

时间:2013-07-13 04:45:01

标签: r igraph tkplot

我目前有一个用tkplot()绘制的网络。最初,我将这些情节保存为png,但它们太压缩了,我喜欢tkplot的屏幕截图。反正有没有让情节的背景变白?而不是浅灰色。

2 个答案:

答案 0 :(得分:5)

有几点要澄清事情。

如果PNG过于拥挤,您可以创建一个更大的PNG文件,只需在width调用中指定heightpng()即可。或者你也可以缩小顶点。

tkplot()的目的是有时手动调整顶点坐标更容易。我们的想法是,您拨打tkplot(),调整坐标,通过tkplot.getcoords()查询调整后的坐标,然后将其与plot()一起使用,因为plot()tkplot()更灵活tkplot()

实际上可以更改library(igraph) g <- graph.ring(10) id <- tkplot(g) tkconfigure(igraph:::.tkplot.get(id)$canvas, "bg"="lightyellow") 中的背景颜色,方法如下:

tkplot.canvas()

screenshot

在igraph的下一个版本中,可以通过igraph:::.tkplot.get()查询画布,因此您无需使用内部tkplot.getcoords()命令。

不幸的是,画布的背景颜色是窗口小部件的属性,因此当您将画布导出到EPS时,它将被忽略。解决这个问题的方法是绘制一个所需颜色的大矩形,并将其放在画布中的顶点和边缘下方。这绝对是可行的,但通过plot()查询坐标然后使用{{1}}更容易。

答案 1 :(得分:3)

tkplot生成的对象的背景中没有颜色。它旨在输出eps-postscript文件,这些文件是basicall透明的,旨在覆盖在其他文件上。在阅读器中打开导出文件的输出,您将看不到背景中的颜色。这是您在tkplot页面上运行示例时获得的内容,另存为eps文件并在Mac上使用Preview.app打开。 (您应该能够使用Ghostscript或ImageMagick进行类似的显示。)

enter image description here