如何在igraph for R中为自定义形状更改vertex.frame.color?
你能帮帮我吗 我正在如何在igraph for R中为自定义形状更改vertex.frame.color?,r,data-visualization,igraph,shapes,R,Data Visualization,Igraph,Shapes,你能帮帮我吗 我正在igraph中使用自定义菱形绘制网络。使用以下函数创建形状,这是对中提供的三角形形状函数的修改: MyDiamond我找到了解决方案 只需在调用符号时,将fg参数添加到菱形函数的末尾即可 MyDiamond <- function(coords, v=NULL, params) { vertex.color <- params("vertex", "color") if (length(vertex.color) !
igraph
中使用自定义菱形绘制网络。使用以下函数创建形状,这是对中提供的三角形形状函数的修改:
MyDiamond我找到了解决方案
只需在调用符号时,将fg
参数添加到菱形函数的末尾即可
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, fg=vertex.frame.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))
MyDiamond
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)))
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, fg=vertex.frame.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))