2016-05-25 9 views
1

Cytoscape.jsグラフのレイアウト間の変更をアニメーション化しようとしています。Cytoscape.js:アニメーションによるレイアウトの変更

変更すると、変更がアニメーション化されます。グリッドからコスに切り替えると、終了位置のみがアニメーションなしで表示されます。

私がレイアウトを切り替えるには、グリッドレイアウト内の小さなグラフと、このコードで始まる簡単なテストシナリオを使用

... 
function changeLayout(type){ 
    var options = { 
    name: type, 
    animate: true 
    }; 
    cy.layout(options); 
} 
... 
<div onclick="changeLayout('cose')">to cose</div> 
<div onclick="changeLayout('grid')">to grid</div> 

私もここに記載されているその他のオプションを試みた: http://js.cytoscape.org/#layouts/cose を私がすることはできませんよグリッドからコスにアニメーション化する。

私は間違っていますか?

答えて

1

CoSEのような連続的なレイアウトは、ライブでアニメーション化されます。つまり、計算の反復中にアニメートされます。レイアウトが非常に速く実行される場合(CoSEのように)、アニメーションがあれば多くは得られません。

離散的なレイアウト(開始位置と終了位置の間のトゥイーン)のような連続的なレイアウトをアニメートするオプションがあるという議論が議論されています。

この動作を今の場合は、レイアウトwhile batchingを実行する必要があります。各ノードの開始位置と終了位置を保存したので、バッチ処理を終了することができます。animate

+0

バッチ+レイアウト+アニメーションのアプローチを拡張できるかどうか疑問に思っていますか? 'startBatch()'を呼び出した後にCoSEレイアウトを実行するとエラーが発生します... – peteorpeter

+1

例:https://github.com/GeneMANIA/genemania/blob/website/10.2/website-ui/js/app-result-layouts .js#L152 – maxkfranz

+0

あなたのリンクに「バッチ」という単語が表示されません。 – mhermher

関連する問題