2 Module : Gargantext.Core.Viz.Graph.Legend
4 Copyright : (c) CNRS, 2017-Present
5 License : AGPL + CECILL v3
6 Maintainer : team@gargantext.org
7 Stability : experimental
13 module Gargantext.Core.Viz.Graph.Legend
17 import Data.Ord (Down(..))
18 import Gargantext.Prelude
19 import Data.Map.Strict (Map, fromListWith, lookup, toList, mapWithKey, elems)
20 import qualified Data.Map.Strict as DM
21 import Data.Maybe (catMaybes)
22 import Data.List (concat, sortOn)
23 import Gargantext.Core.Viz.Graph.Louvain (LouvainNodeId, CommunityId, comId2nodeId)
27 [LouvainNode] -> Map CommunityId LouvainNodeId
28 [(CommunityId, [LouvainNodeId])]
29 sort by length LouvainNodeIds
35 subgraph with [LouvainNodeId]
36 -> prendre le noeud le mieux connecté (degree to start with)
39 -> map [LouvainNodeId] -> [(CommunityId, take 3 [Label])]
41 use specGen incExc score to order the labels
43 take 7 [(CommunityId, take 3 [Label])]