3

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

4

2 回答 2

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")

截屏

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

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

于 2013-07-13T13:56:45.870 回答
3

There is no color in the background of tkplot-produced objects. It is designed to output eps-postscript files which are basicall transparent and designed to be overlayed on some other file. Open the output of an exported file in a reader and you will see no color in the background. Here's what you get when your run the example on the tkplot page, save as an eps file and open with Preview.app on a Mac. (You should be able to use Ghostscript or ImageMagick for similar display.)

enter image description here

于 2013-07-13T04:54:12.700 回答