2016-08-07 2 views
0

Я использую vis.js 4.16.1 для рисования сетевых графиков. В настоящее время у меня есть два сетевых графика. Один сетевой график для пользовательского чертежа. После того, как пользователь сделал это, я хочу скопировать то же самое, что и график сети, во второй сетевой график. Однако я не могу установить ту же точку зрения, что и первая. Это варианты для первой сети:vis.js network fit function

options = { 
    locale: 'en', 
    physics: { 
     "enabled": false, 
    }, 
    edges: { 
     smooth: { 
      type: 'continuous' 
     } 
    }, 
    interaction: { 
     navigationButtons: true, 
     selectConnectedEdges: false 
    } 
}; 

Я отключил физику, чтобы пользователь мог самостоятельно организовать узел.
Это варианты для второй сети:

var options = { 
    locale: 'en', 
    physics: { 
     "enabled": false 
    }, 
    edges: { 
     smooth: { 
      type: 'continuous' 
     } 
    }, 
    interaction: { 
     dragNodes: false, 
     dragView:true 
    } 
}; 

Когда я использую функцию нужным (http://www.cse.unsw.edu.au/~mike/myrlibrary/visNetwork/doc/network/)

var fitOption = { 
    nodes: nodes.getIds() //nodes is type of vis.DataSet contains all the nodes 
} 
secondNetwork.fit(fitOption); 

Там нет ничего изменилось. Когда я использую moveTo функцию:

var centerOptions = { 
    position: { 
     x: firstNetwork.getViewPosition().x, 
     y: firstNetwork.getViewPosition().y}, 
    } 
} 
secondNetwork.moveTo(centerOptions); 

Тем не менее, я не могу пошевелить холст к точке, где первая сеть в центре внимания. Холст вообще не движется. Может ли кто-нибудь дать мне несколько предложений? Заранее спасибо,

ответ

0

Вы можете использовать network.fit(), это будет делать то же самое, что и верхняя кнопка в правом нижнем углу. Таким образом, все узлы будут сфокусированы.

Вы можете использовать Dataset-объект для узлов и ребер, чем она его довольно легко скопировать все узлы и ребро на один и те же х-координаты с

вар х = network1.edges.get(); network2.edges.add (xy);

0

Благодаря Райнер, я выяснить причины, почему функция подходит() и MoveTo() не работает в моем контексте, мне нужно установить опцию:

physics: { 
    "enabled": true 
} 

иначе он не работает. Что было до того, как я вызвал функцию fit(), изменил значение true, функцию fit(), затем установил значение false.

Смежные вопросы