r - 节点和边缘着色产生一些问题 - 图形可视化
问题描述
我的数据集示例如下。我为网络可视化编写了以下代码。我的图表由具有子列和父列的邻接矩阵组成。标签列有 3 个级别,分别为 0、1、2。我将标签作为顶点和边属性。生成图中的问题是,父节点的颜色和它的边缘应该是相同的,因为它们遵循相同的规则,但在某些情况下,它不是。为什么它们不同? 数据 :
row row child name child parent parent name vaccine label
40 39 MaryJoNabuurs 1.392302e+18 1.392218e+18 TweeetLorraine
AstraZeneca 2
41 40 ElizabethDuncan 1.392297e+18 1.392218e+18 TweeetLorraine AstraZeneca 2
42 41 7Rose75 1.392294e+18 1.392218e+18 TweeetLorraine AstraZeneca 1
43 42 wh0careswh0 1.392336e+18 1.392294e+18 7Rose75 AstraZeneca 0
44 43 T_ProudVeteran 1.392330e+18 1.392294e+18 7Rose75 AstraZeneca 2
45 44 TweeetLorraine 1.392294e+18 1.392294e+18 7Rose75 AstraZeneca 2
46 45 Norlaine 1.392288e+18 1.392218e+18 TweeetLorraine AstraZeneca 2
47 46 elham95264575 1.393212e+18 1.392288e+18 Norlaine AstraZeneca 1
48 47 soyfreemike 1.392387e+18 1.392288e+18 Norlaine AstraZeneca 0
49 48 KMTCarr 1.392288e+18 1.392218e+18 TweeetLorraine AstraZeneca 2
50 49 angela_petta 1.392283e+18 1.392218e+18 TweeetLorraine AstraZeneca 2
51 50 lhoneyimhome 1.392272e+18 1.392218e+18 TweeetLorraine AstraZeneca 2
net1 <- graph_from_data_frame(df %>% select("child","parent"))
rel = get.adjacency(net1, sparse = FALSE)
graph = graph_from_adjacency_matrix(rel, mode="directed",weighted = TRUE)
graph = simplify(graph, remove.loops=TRUE)
graph
summary(graph)
vertex_attr(graph, "label") <- df$label
#Set edge attribute:
edge_attr(graph, "label") <- df$label
E(graph)$color[E(graph)$label == 2] <- '#B3DE69' #green
E(graph)$color[E(graph)$label == 1] <- '#80B1D3' #yellow
E(graph)$color[E(graph)$label == 0] <- '#FB8072'#purple
V(graph)$color[V(graph)$label == 2] <- '#B3DE69'
V(graph)$color[V(graph)$label == 1] <- '#80B1D3'
V(graph)$color[V(graph)$label == 0] <- '#FB8072'
g<-c('#B3DE69','#80B1D3','#FB8072')
plot(graph,layout=layout.fruchterman.reingold,
vertex.frame.color=NA,vertex.label.color="black",
edge.label = NA,
vertex.size=3, usecurve=TRUE,
edge.lwd=0.02,
vertex.dist=10,vertex.label.dist=2,vertex.label.cex=0.9,
pad=0.9,alpha=80,
edge.arrow.size=.1)
legend("bottomleft",legend= c("Positive","Neutral","Negative"),
col=g,pch=19,pt.cex=1.5,bty="n",
title="Label category")
title(main="Visualization ", cex.main=1)
更新:
我发现问题在于使用简化。当我删除它时,我得到了正确的情节。问题是我不想在我的图表中循环,我应该怎么做而不是使用简化?
解决方案
推荐阅读
- logstash - 在 grok 中摆脱结肠
- ios - POST“base64 图像字符串”在 iOS 11 中不起作用
- azure - Azure 存储已删除 blob 仍然可用
- javascript - TS2538 类型“未定义”不能用作索引类型。当检查分配给变量时
- python-multithreading - 有没有办法在 grpc 服务器端设置超时?
- go - 有没有办法重置使用 atomic.AddUint64 递增的计数器?
- css - 悬停在按钮上,同时仍然具有其后面元素的悬停效果
- javascript - 在后台调用 URL
- php - 问:如何查看 URL 网站的扩展名?
- prestashop - Configuration::get() 在 PrestaShop 1.6 的控制器中返回空值