在visNetwork中为节点添加不同颜色并移除标签
试图在R中可视化网络,我有一个边和节点列表。节点列表如下所示:“id”、“标签”和“类型”: 我想根据节点的类型为其着色。到目前为止,我通过嵌入if语句尝试了这一点,但这似乎不起作用在visNetwork中为节点添加不同颜色并移除标签,r,visnetwork,R,Visnetwork,试图在R中可视化网络,我有一个边和节点列表。节点列表如下所示:“id”、“标签”和“类型”: 我想根据节点的类型为其着色。到目前为止,我通过嵌入if语句尝试了这一点,但这似乎不起作用 visNetwork(nodes, edges) %>% visIgraphLayout(layout = "layout_in_circle") %>% visNodes(label = NULL,( if (nodes$type ="gimn&qu
visNetwork(nodes, edges) %>%
visIgraphLayout(layout = "layout_in_circle") %>%
visNodes(label = NULL,(
if (nodes$type ="gimn") {
color= "slategrey"
} else if (nodes$type ="szakgimn") {
color="pink"
} else if (nodes$type ="ált_isk") {
color="black"
} else {
color ="tomato"
})) %>%
visEdges(arrows = "middle")
如何根据节点的类型为节点指定颜色?另外,如何从绘图中删除标签?(上面的代码似乎也不适用于此。)我想您可以尝试使用嵌套的
ifelse
根据下面的类型定义颜色
visNetwork(nodes, edges) %>%
visIgraphLayout(layout = "layout_in_circle") %>%
visNodes(
label = NULL,
color = ifelse(nodes$type == "gimn",
"slategrey",
ifelse(nodes$type == "szakgimn",
"pink",
ifelse(nodes$type == "alt_isk",
"black", "tomato"
)
)
)
) %>%
visEdges(arrows = "middle")
另一种方法是在使用管道之前,将
颜色
添加到节点
,例如
nodes$color <- ifelse(nodes$type == "gimn",
"slategrey",
ifelse(nodes$type == "szakgimn",
"pink",
ifelse(nodes$type == "alt_isk",
"black", "tomato"
)
)
)
visNetwork(nodes, edges) %>%
visIgraphLayout(layout = "layout_in_circle") %>%
visEdges(arrows = "middle")
节点$color%
visIgraphLayout(layout=“layout\u in\u circle”)%>%
虎钳(箭头=“中间”)
我想您可以尝试使用嵌套的ifelse
来定义基于以下类型的颜色
visNetwork(nodes, edges) %>%
visIgraphLayout(layout = "layout_in_circle") %>%
visNodes(
label = NULL,
color = ifelse(nodes$type == "gimn",
"slategrey",
ifelse(nodes$type == "szakgimn",
"pink",
ifelse(nodes$type == "alt_isk",
"black", "tomato"
)
)
)
) %>%
visEdges(arrows = "middle")
另一种方法是在使用管道之前,将
颜色
添加到节点
,例如
nodes$color <- ifelse(nodes$type == "gimn",
"slategrey",
ifelse(nodes$type == "szakgimn",
"pink",
ifelse(nodes$type == "alt_isk",
"black", "tomato"
)
)
)
visNetwork(nodes, edges) %>%
visIgraphLayout(layout = "layout_in_circle") %>%
visEdges(arrows = "middle")
节点$color%
visIgraphLayout(layout=“layout\u in\u circle”)%>%
虎钳(箭头=“中间”)
Hm,出于同样的原因,即使使用ifelse,节点的颜色仍然是默认颜色。可能管道的顺序有问题。无论如何,谢谢@cvr我想您可以尝试使用嵌套的ifelse
在节点中添加color
列,然后无需在pipesHm中使用visNodes
,出于同样的原因,即使使用ifelse,节点的颜色仍然是默认颜色。可能管道的顺序有问题。无论如何,谢谢@cvr我想您可以尝试使用嵌套的ifelse
在nodes
中添加color
列,然后无需在管道中使用visNodes