1

ネットワーク グラフを描画するために vis.js 4.16.1 を使用しています。現在、2 つのネットワーク グラフがあります。ユーザー図面用の 1 つのネットワーク グラフ。ユーザーが行った後、ネットワーク グラフが何であれ、2 番目のネットワーク グラフに正確にコピーしたいと考えています。しかし、最初と同じ視点を設定することはできません。これは、最初のネットワークのオプションです。

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

ユーザーが自分でノードを整理できるように、物理を無効にしました。
これは、2 番目のネットワークのオプションです。

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

fit 関数を使用すると ( 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);

それでも、最初のネットワークが焦点を合わせたポイントにキャンバスを移動することはできません。キャンバスはまったく動かない。誰かが私にいくつかの提案をしてもらえますか? 前もって感謝します、

4

2 に答える 2

2

Reiner に感謝します。 fit() および moveTo() 関数が私のコンテキストで機能しない理由を理解しました。オプションを設定する必要があります。

 physics: {
     "enabled": true
 }

それ以外の場合は機能しません。fit() 関数を呼び出し、有効化を true に変更し、fit() 関数を呼び出してから、有効化を false に設定する前に行ったことです。

于 2016-08-16T23:28:58.327 に答える