我想使用菱形几何形状作为一个节点在一个图表中使用igraph。我找到了圆形、三角形、长方形等形状,但没有找到菱形。菱形应类似于在pch = 18的绘图中获得的菱形。
有人有菱形工作代码的例子吗?
提前谢谢你!
发布于 2018-12-21 14:43:46
根据包文档,您必须定义一个自定义形状。
下面的代码遵循?igraph::shapes自定义形状的帮助页"triangle"示例。主要区别在于stars的定义,myrhombus函数的定义。
library(igraph)
myrhombus <- function(coords, v = NULL, params) {
vertex.color <- params("vertex", "color")
if (length(vertex.color) != 1 && !is.null(v)) {
vertex.color <- vertex.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(1.2*vertex.size, vertex.size, 1.2*vertex.size, vertex.size),
add = TRUE, inches = FALSE)
}
# clips as a circle
add_shape("rhombus", clip = shapes("circle")$clip,
plot = myrhombus)
g <- graph.ring(10, dir = FALSE)
plot(g, vertex.shape = "rhombus", vertex.color = rainbow(vcount(g)),
vertex.size = rep(30, vcount(g)))

https://stackoverflow.com/questions/53886154
复制相似问题