Как собрать узлы на основе группы в VisJS? - PullRequest
0 голосов
/ 08 апреля 2019

Я довольно новичок в VisJS и пытаюсь визуализировать данные об использовании компьютера.За последние 2 месяца я собрал данные о том, сколько времени я провожу в каждом приложении на моем компьютере в хронологическом порядке.Я хочу создать сеть VisJS, где каждый узел - это время, проведенное в приложении, узлы сгруппированы по приложениям, а ребра соединяют каждый узел с приложением, которое я использовал до этого, и приложением, которое я использовал затем.

Я отформатировал все свои данные, создал из него сеть, но сеть всегда отображается в кольце.Я хочу, чтобы различные узлы были расположены по их группе - все узлы "Chrome" принадлежат другим узлам "Chrome" и т. Д.

Вот код, который я использую:

var container = document.getElementById('mynetwork');

var data = {
    nodes: nodes, //about 9,000 nodes
    edges: edges //about 9,000 edges
};
var options = {nodes: {
    shape: 'dot',
    scaling: {
      min: 0,
      max: 1
    }
  },layout: {improvedLayout: false}, physics:{enabled: true},edges: {
    color:{inherit:true},
    width: 0.15,
    smooth: {
      type: 'continuous'
    }
  },};


var network = new vis.Network(container, data, options);

Довольно простой, но фактический результат - беспорядок, потому что у меня более 9000 отдельных узлов.Фактический результат выглядит следующим образом:

https://i.ibb.co/gm6d1R7/Screen-Shot-2019-04-08-at-11-23-03-AM.png

Я хочу, чтобы он выглядел больше как пример VisJS:

http://visjs.org/examples/network/edgeStyles/smoothWorldCup.html

Дело в том, что, насколько я могу судить, я использую те же параметры, что и в этой визуализации - они только что вошли и вручную поместили каждый узел с координатами, чего я действительно не могу сделать с 9000 узлов.Есть ли способ сделать это автоматически, не размещая каждый узел отдельно?

...