删除 igraph 中的社区框

问题描述

我创建了一个简单的最小生成树,现在有一个包含“from”、“to”和“distance”列的数据框。

基于此,我使用我绘制的 Louvain 方法找到了社区。据我了解,对于聚类和绘图,我只需要 from 和 to 的列,不使用距离。

如何保留我找到的社区,最好每个社区都使用不同的颜色,但移除社区周围的框?

enter image description here

library(igraph)
from <- c(14,25,18,19,29,23,24,36,5,22,21,26,2,45,8,7,42,3,13,20,15,28,9,6,37,4,27,10,39,1,43,14,40,31,1)
to <- c(16,32,34,35,30,46,48,12,38,50,49,11,41,47,16,44,17,33,1)
distance <- c(0.3177487,0.3908324,0.4804059,0.4914682,0.5610357,0.6061082,0.6357532,0.6638961,0.7269725,0.8136463,0.8605391,0.8665838,0.8755252,0.8908454,0.9411793,0.9850834,1.0641603,1.0721154,1.0790506,1.1410964,1.1925349,1.2115428,1.2165045,1.2359032,1.2580204,1.2725243,1.2843610,1.2906908,1.3070725,1.3397053,1.3598817,1.3690732,1.3744088,1.3972220,1.4472312,1.4574936,1.4654772,1.4689660,1.5999424,1.6014316,1.6305410,1.6450413,1.6929959,1.7597620,1.8113320,2.0380866,3.0789517,4.0105981,5.1212614,0.0000000)
mst <- cbind.data.frame(from,to,distance)

g <- graph.data.frame(mst[,1:2],directed = FALSE)
lou <- cluster_louvain(g)
set.seed(1)
plot(lou,g,vertex.label = NA,vertex.size=5)

解决方法

可以像这样关闭组周围的斑点:

public class Response<T>
    {
        public Response()
        {
        }

        public Response(T data,string message = null)
        {
            Succeeded = true;
            Message = message;
            Data = data;
        }

        public Response(string message)
        {
            Succeeded = false;
            Message = message;
        }

        public bool Succeeded { get; set; }
        public string Message { get; set; }
        public List<string> Errors { get; set; }
        public T Data { get; set; }
    }
,

你想要这个吗?

plot(lou,g,vertex.label = NA,vertex.size = 5,mark.border = NA)

enter image description here