R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

tkplot {igraph}R 文档

交互式绘制图形

描述

tkplot 及其配套函数用作交互式图形绘制工具。 目前,并非所有绘图参数都可以交互式更改,例如,顶点、边的颜色以及其他参数必须预先定义。

用法

tkplot(graph, canvas.width = 450, canvas.height = 450, ...)

tk_close(tkp.id, window.close = TRUE)

tk_off()

tk_fit(tkp.id, width = NULL, height = NULL)

tk_center(tkp.id)

tk_reshape(tkp.id, newlayout, ..., params)

tk_postscript(tkp.id)

tk_coords(tkp.id, norm = FALSE)

tk_set_coords(tkp.id, coords)

tk_rotate(tkp.id, degree = NULL, rad = NULL)

tk_canvas(tkp.id)

参数

要绘制的 graph

canvas.width, canvas.height

tkplot 绘图区域的大小。

...

其他绘图参数。 有关完整列表,请参见 igraph.plotting

tkp.id

要关闭/重塑等的 tkplot 窗口的 ID。

window.close

保持默认值即可。

width

用于生成新坐标的矩形的宽度。

height

用于生成新坐标的矩形的高度。

newlayout

新布局,请参见 tkplot 的 layout 参数。

params

列表中的额外参数,传递给布局函数。

norm

逻辑值,是否应标准化坐标。

coords

两列数字矩阵,顶点的新坐标,采用绝对坐标。

degree

绘图的旋转角度。

rad

绘图的旋转角度,以弧度为单位。

详细信息

tkplot 是一种交互式图形绘制工具。 它在这个阶段不是很完善,但应该仍然有用。

它的处理方式在大多数情况下应该非常简单,以下是一些说明和提示。

有不同的弹出菜单,通过鼠标右键激活,用于顶点和边。 如果光标下的顶点/边是选择的一部分,则两者都对当前选择进行操作;如果光标下的顶点/边不是选择的一部分,则对光标下的顶点/边进行操作。

一次只能激活一个选择,可以是顶点选择或边选择。 可以通过在按住 control 键的同时用鼠标左键单击顶点/边来将顶点/边添加到选择中。 再次执行此操作将取消选择顶点/边。

也可以从“选择”菜单中进行选择。“选择一些顶点”对话框允许给出要选择的顶点的表达式:这可以是逗号分隔的数字 R 表达式列表,例如“1,2:10,12,14,15”。 类似地,在“选择一些边”对话框中,可以给出两个这样的列表,并且将选择所有连接第一个列表中的顶点到第二个列表中的顶点的边。

在颜色对话框中,也可以使用颜色名称(如“orange”)或 RGB 表示法。

tkplot 命令创建一个新的 Tk 窗口,其中包含 graph 的图形表示。 该命令返回一个整数,即 tkplot ID。 其他命令利用此 ID 能够查询或操作绘图。

tk_close 关闭 ID 为 tkp.id 的 Tk 绘图。

tk_off 关闭所有 Tk 绘图。

tk_fit 将绘图调整到给定的矩形(widthheight),如果其中一些为 NULL,则使用绘图窗口的实际物理宽度或高度。

tk_reshape 将新布局应用于绘图,其可选参数将收集到类似于 layout.par 的列表中。

tk_postscript 创建一个对话窗口,用于将绘图保存为 PostScript 格式。

tk_canvas 返回属于图形绘图的 Tk 画布对象。 然后可以直接操作画布,例如,可以添加标签,可以通过编程方式将其保存到文件中等。请参见下面的示例。

tk_coords 返回矩阵中顶点的坐标。 每行对应一个顶点。

tk_set_coords 设置顶点的坐标。 两列矩阵指定新位置,每行对应一个顶点。

tk_center 将图形移动到其绘图窗口的中心。

tk_rotate 旋转图形,其参数可以以度或弧度给出。

tkplot 返回一个整数,即绘图的 ID,可用于从命令行操作它。

tk_canvas 返回 tkwin 对象,即 Tk 画布。

tk_coords 返回带有坐标的矩阵。

tk_closetk_offtk_fittk_reshapetk_postscripttk_centertk_rotate 不可见地返回 NULL

示例

g <- make_ring(10)
tkplot(g)

## Saving a tkplot() to a file programmatically
g <- make_star(10, center=10) 
E(g)$width <- sample(1:10, ecount(g), replace=TRUE)
lay <- layout_nicely(g)

id <- tkplot(g, layout=lay)
canvas <- tk_canvas(id)
tcltk::tkpostscript(canvas, file="/tmp/output.eps")
tk_close(id)

## Setting the coordinates and adding a title label
g <- make_ring(10)
id <- tkplot(make_ring(10), canvas.width=450, canvas.height=500)

canvas <- tk_canvas(id)
padding <- 20
coords <- norm_coords(layout_in_circle(g), 0+padding, 450-padding,
                      50+padding, 500-padding)
tk_set_coords(id, coords)

width <- as.numeric(tkcget(canvas, "-width"))
height <- as.numeric(tkcget(canvas, "-height"))
tkcreate(canvas, "text", width/2, 25, text="My title",
         justify="center", font=tcltk::tkfont.create(family="helvetica",
         size=20,weight="bold"))

作者

Gabor Csardi csardi.gabor@gmail.com

参见

plot.igraph, layout


[包 igraph 版本 1.3.5 索引]