2017-01-04 15 views
0

複数のデータセットがあり、ボタンをクリックしたときに変更したい。ここに私が必要とするものの例があります:http://codepen.io/marcelo2605/pen/JEoGEO?editors=1010Chart.js:クリック時に新しいデータを読み込む

[セット2]ボタンをクリックすると、チャートに正しいデータがロードされます。

しかし、 'set 1'をロードしようとすると、何も起こりません。

console.logを調べると、fooの両方のボタンで変数の値が同じであることがわかりました。

+0

が、それだけではeval誤動作だように見えます。これに

myChart.data.datasets[0] = foo['datasets'][0]; myChart.data.labels = foo['labels']; myChart.update(); 

変数にevalを実行する代わりに2つに分割されたオブジェクト? –

答えて

1

変更この:コメントの後

myChart.config.data = foo; 
myChart.update(); 

編集:1にすべてのデータを配置しない理由

link to latest state

+0

私はそれが動作すると思いますが、アニメーションはありません。新しいデータが読み込まれるたびにアニメーションを実行できますか? – marcelo2605

+0

myChart.destroy()を使用する必要があります。それを再作成します。 – osmanraifgunes

+0

完全なアニメーションを素早く取得するには、データ属性を更新する代わりに、毎回フルテーブルを置き換えるだけです。 'update()'はストリーミングデータを対象としています。 – alttag

関連する問題