【发布时间】:2020-10-25 14:57:57
【问题描述】:
你能帮帮我吗?
我正在使用自定义菱形在igraph 中绘制一个网络。形状是使用以下函数创建的,它是对igraph manual中提供的三角形形状函数的修改:
MyDiamond <- function(coords, v=NULL, params) {
vertex.color <- params("vertex", "color")
if (length(vertex.color) != 1 && !is.null(v)) {
vertex.color <- vertex.color[v]
}
vertex.frame.color <- params("vertex", "frame.color")
if (length(vertex.frame.color) != 1 && !is.null(v)) {
vertex.frame.color <- vertex.frame.color[v]
}
vertex.size <- 1/200 * params("vertex", "size")
if (length(vertex.size) != 1 && !is.null(v)) {
vertex.size <- vertex.size[v]
}
symbols(x=coords[,1], y=coords[,2], bg=vertex.color,
stars=cbind(vertex.size, vertex.size, vertex.size, vertex.size),
add=TRUE, inches=FALSE)
}
add_shape("diamond", clip=shapes("circle")$clip,
plot=MyDiamond, parameters=list(vertex.frame.color="white",
vertex.frame.width=1))
调用此函数后,我绘制图形,就像 igraph 手册中的一样:
shapes <- setdiff(shapes(), "")
g <- make_ring(length(shapes))
plot(g, vertex.shape="diamond",
vertex.color=rainbow(vcount(g)),
vertex.frame.color = "white",
vertex.size=seq(10,20,length=vcount(g)))
如您所见,vertex.frame.color 参数不适用于此自定义菱形。我怎样才能让它发挥作用?
非常感谢!
【问题讨论】:
标签: r data-visualization igraph shapes