いくつかのデータの視覚化では、私はractiveとchart.jsを使用しています。初期の図面は素晴らしいですが、データが変更されたときにグラフを自動的に更新する方法が見つかりません。これまでのところ私は(簡体字)得た:ractiveでchart.jsを更新
const Stats = '<canvas id="myChart" width="400" height="400"></canvas>'
new Ractive ({
el: '#stats',
template: Stats,
magic: true,
modifyArrays: true,
data: {docs}, // <= some JSON Data
computed: {
Data1() {
let tempList = this.get('docs');
// rearrange & filter Data
return tempList ;
},
Data2() {
let tempList2 = this.get('docs');
// rearrange & filter Data
return tempList2 ;
},
Data3() {
let tempList3 = this.get('docs');
// rearrange & filter Data
return tempList3 ;
},
}
},
onrender: function() {
let DataSet1 = this.get('Data1');
let DataSet2 = this.get('Data2');
let DataSet3 = this.get('Data3');
let ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'doughnut',
data: {
labels: ["Data 1", "Data 1", "Data 3"],
datasets: [{
label: 'All my Data',
data: [DataSet1.length, DataSet2.length, DataSet3.length],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(255, 159, 64, 0.2)',
'rgba(75, 192, 192, 0.2)'
],
borderColor: [
'rgba(255,99,132,1)',
'rgba(255, 159, 64, 1)',
'rgba(75, 192, 192, 1)'
],
borderWidth: 1
}]
},
options: {
responsive: false
}
});
},
onchange: function() {
let newData = this.get('docs')
addData(myChart, label, newData)
function addData(chart, label, data) {
chart.data.labels.push(label);
chart.data.datasets.forEach((dataset) => {
dataset.data.push(data);
});
chart.update();
}
}
});
はもちろん、私はラインchart.data.labels.push(label);
でエラーを取得し、そしてまた私は、onrender
機能していない初期データセットを私の計算された値が必要になることはかなり確信しています。しかし、私は本当にそれらを更新機能に入れる方法がないか、またはこの機能がまったく正しい方法であるかどうかを知りません。
おかげで、しかし、あなたが知って起こるのかどのようにそれらを使用する上で良い指示?デコレータ上の優秀なドキュメントはあまり有用ではありません。私が見つけた最高のものはこの[link] http://parhelium.pl/post/How_to_write_a_tooltip_decorator_in_RactiveJS/ [link]でしたが、私の初心者レベルではまだ複雑です。 – Torf
あなたが言及したリンクと組み合わせて自分の答えに追加したリンクが最高です – nhaberl