В соответствии с документацией к пакету вы должны определить пользовательскую фигуру.
Код ниже следует странице справки ?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)))
![enter image description here](https://i.stack.imgur.com/X4WkA.png)