我是R的新手,我开始在那里使用igraph进行图形可视化。下面的例子创建了一个由10个顶点组成的简单网络,并根据颜色值对它们进行着色(在本例中,为简单起见,我将其设置为与顶点的ids相同)。
library(igraph)
vertices <- 1:10
first <- 1:10
second <- c(2:10,1)
edges = cbind(first,second)
color = 1:10
net = graph_from_data_frame(edges,vertices=vertices ,directed=F )
V(net)$color = color
plot(net)
然而,从这个曲线图上看,并不清楚哪些颜色对应哪些数字:
为了解决这个问题,我尝试创建了各种我能够在文档和在线上找到的图例。以下面的代码为例:
legend("bottom", legend=levels(as.factor(color)), bty = "n", cex =
1.5, pt.cex = 3, pch=20, col = color , horiz = FALSE , inset = c(0.1,
-0.3)
但在这种情况下,结果是混乱的,模糊了图片,并且没有提供将节点上的值范围映射到颜色光谱的连续颜色条。我能找到的其他选择也好不到哪里去。
你知道如何在图片下方或右边放置一个连续的颜色条(这样它就不会覆盖图片的任何部分)吗?理想情况下,颜色条应该显示颜色的整个连续光谱和与颜色对应的一些值(至少是最极端的颜色)?你知道如何做到这一点吗?
谢谢你的帮助!
https://stackoverflow.com/questions/57044991
复制相似问题