我目前有一个用tkplot()
绘制的网络。最初,我将这些情节保存为png,但它们太压缩了,我喜欢tkplot
的屏幕截图。反正有没有让情节的背景变白?而不是浅灰色。
答案 0 :(得分:5)
有几点要澄清事情。
如果PNG过于拥挤,您可以创建一个更大的PNG文件,只需在width
调用中指定height
和png()
即可。或者你也可以缩小顶点。
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()
在igraph的下一个版本中,可以通过igraph:::.tkplot.get()
查询画布,因此您无需使用内部tkplot.getcoords()
命令。
不幸的是,画布的背景颜色是窗口小部件的属性,因此当您将画布导出到EPS时,它将被忽略。解决这个问题的方法是绘制一个所需颜色的大矩形,并将其放在画布中的顶点和边缘下方。这绝对是可行的,但通过plot()
查询坐标然后使用{{1}}更容易。
答案 1 :(得分:3)
tkplot生成的对象的背景中没有颜色。它旨在输出eps-postscript文件,这些文件是basicall透明的,旨在覆盖在其他文件上。在阅读器中打开导出文件的输出,您将看不到背景中的颜色。这是您在tkplot页面上运行示例时获得的内容,另存为eps文件并在Mac上使用Preview.app打开。 (您应该能够使用Ghostscript或ImageMagick进行类似的显示。)