r - 在 R igraph 中绘制社区对象时更改顶点颜色
问题描述
我想在图上运行社区检测算法g
以获取社区对象cd
,然后用于plot(cd,g)
制作社区包含在半透明 blob 中的图。但是,我也想给顶点着色,看起来好像plot
覆盖了我给的顶点着色V(g)$names
。
这是一个例子来说明我的意思:
v1 <- c(1,1,2,3,4,4,6,7,8,9)
v2 <- c(2,3,3,4,5,6,5,8,9,7)
graph <- data.frame(v1,v2)
g <- graph.data.frame(graph, directed=FALSE)
cd <- fastgreedy.community(g)
vcolor <- c("white", "white", "white",
"blue", "blue", "blue",
"red", "red", "red")
vertex_attr(g)$color <- vcolor
plot(g)
plot(cd,g)
当你plot(g)
时,顶点是红色、白色和蓝色。但是,当您使用它们时,plot(cd,g)
它们是蓝色,绿色和橙色。
plot(g)
:
plot(cd,g)
:
我想保留半透明的斑点,但强制我自己着色。原因是我想将社区成员(blob)与另一个分类(顶点颜色)进行比较。
当我更改顶点标签时,我没有遇到同样的问题。另外我应该注意到这不起作用:
plot(cd,g,vertex.color=vcolor)
解决方案
我很欣赏这是一个老问题,但我也一直在努力解决这个问题,并认为我找到了一个简单的答案,以防万一它有帮助。以你为例:
v1 <- c(1,1,2,3,4,4,6,7,8,9)
v2 <- c(2,3,3,4,5,6,5,8,9,7)
graph <- data.frame(v1,v2)
g <- graph.data.frame(graph, directed=FALSE)
cd <- fastgreedy.community(g)
vcolor <- c("white", "white", "white",
"blue", "blue", "blue",
"red", "red", "red")
plot(cd,g,
col = vcolor)
推荐阅读
- fortran - 将 openmp 共享变量添加到 fortran mpi 代码
- automation - 我们如何模拟空手道的内部 API 请求?
- java - Hibernate获取具有层次结构的双向关系的关联
- typescript - 如何扩展命名空间的接口
- node.js - npx - 在 `npx prettier` 与 `npx prettier@2` 中,`@` 做了什么?
- python - 从 Gmail 获取电子邮件并将其写入文件的最快方法
- reactjs - DataDog dd-trace-js 可以通过 http 标头向服务器发送跟踪信息吗?
- go - 无法使用 rm 命令从 Go 应用程序中删除 linux 服务器上的文件
- google-sheets - 使用间接函数创建循环过滤器 - Google 表格
- c# - Cefsharp 进程用户 ID 传递