错误:提供给连续缩放的离散值-从IGRAPHE绘制邻接矩阵时出错

错误:提供给连续缩放的离散值-从IGRAPHE绘制邻接矩阵时出错,r,ggplot2,plot,igraph,R,Ggplot2,Plot,Igraph,我想把图的邻接矩阵画成棋盘。该代码适用于使用内置“make_star”等函数创建的图形,但在使用csv文件中的邻接矩阵创建的图形时失败 此测试中使用的csv文件 这是g2: > g2 IGRAPH e338cdb DN-- 5 8 -- + attr: name (v/c), label (v/n) + edges from e338cdb (vertex names): [1] V1->V2 V1->V3 V1->V4 V1->V5 V2->V1 V3-&

我想把图的邻接矩阵画成棋盘。该代码适用于使用内置“make_star”等函数创建的图形,但在使用csv文件中的邻接矩阵创建的图形时失败

此测试中使用的csv文件

这是g2:

> g2
IGRAPH e338cdb DN-- 5 8 -- 
+ attr: name (v/c), label (v/n)
+ edges from e338cdb (vertex names):
[1] V1->V2 V1->V3 V1->V4 V1->V5 V2->V1 V3->V1 V4->V1 V5->V1
考虑到这一点,我想到了将“g2”中的顶点重命名为“1,2,3,…”,并尝试删除线:

 set_vertex_attr("label", value = 1:nrow(loadedDF)

毫无效果

有趣的是,问题出在
比例y\u反转中。从csv文件加载数据时,列名为V1、…、V5,
y
轴中的标签也是这样。然后,显然,
scale\u y\u reverse
失败了,因为它试图反转非数值,同时将它们视为数值

解决此问题的一种方法是替换

gAdjMatrix <- as.matrix(as_adj(graphToPlot))

gAdjMatrix谢谢,这在这个简化的示例中有效,但它破坏了代码的其他部分,因为图形需要标记以执行顶点/边删除。我试着创建一个函数来准备绘图用的图表。我更新了答案。显然,我建议在一个与您尝试过的非常相似的地方使用
unname
,但它确实对我有用。
 set_vertex_attr("label", value = 1:nrow(loadedDF)
gAdjMatrix <- as.matrix(as_adj(graphToPlot))
gAdjMatrix <- unname(as.matrix(as_adj(graphToPlot)))