R 如何通过节点着色绘制网络图

R 如何通过节点着色绘制网络图,r,igraph,R,Igraph,我有一个有两列的数据框(edgelist),我想在igraph图中用两种不同的颜色给这两列上色。就像蓝色的大写字母节点和黑色的小写字母一样。 我的代码如下 dat <- data.frame(col1 = letters[1:20], col2 = LETTERS[1:20]) library(igraph) g <- graph.edgelist(as.matrix(dat ),directed = T) set.seed(2021) plot(g, layout= layout

我有一个有两列的数据框(edgelist),我想在igraph图中用两种不同的颜色给这两列上色。就像蓝色的大写字母节点和黑色的小写字母一样。 我的代码如下

dat <- data.frame(col1 = letters[1:20], col2 = LETTERS[1:20])
library(igraph)
g <- graph.edgelist(as.matrix(dat ),directed = T)
set.seed(2021)
plot(g, layout=  layout_nicely(g))

dat您可以调用图形元素并根据值是否为大写/小写的条件指定颜色

V(g)$color <- ifelse(V(g)$name==toupper(V(g)$name),"blue","red")
V(g)$color