如何为自定义形状更改igraph中的vertex.frame.color?

问题描述

能帮我吗?

我正在使用自定义菱形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),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不适用于此自定义菱形形状。我该如何运作?

非常感谢您!

解决方法

我找到了解决方法!

在调用voice_client = guild.voice_client(guild) TypeError: 'VoiceClient' object is not callable时,只需在菱形函数的末尾添加fg参数即可。

symbols

希望它对其他人有帮助。