【发布时间】:2023-11-07 01:19:01
【问题描述】:
我是 R 新手,我开始使用 igraph 进行图形可视化。下面的示例创建了一个由 10 个顶点组成的简单网络,并根据颜色值对它们进行着色(在这种情况下,为了简单起见,我将其设置为与顶点的 id 相同)。
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)
但是在这种情况下,结果是混乱的,使图片模糊,并且不提供将节点上的值范围映射到色谱的连续颜色条。我能找到的其他选项也不是更好。
您知道如何以连续颜色条的形式制作图例,放置在图片下方或右侧(使其不覆盖图片的任何部分)?理想情况下,颜色条应该显示整个连续的颜色光谱和与颜色相对应的一些值(至少是极端值)? 你碰巧知道如何做到这一点吗?
感谢您的帮助!
【问题讨论】: