前提・実現したいこと
chart.jsのパラメーターに値を渡したいのですがうまくいきません。
エラーコードは出ませんが、dataが空の状態のグラフが表示されてしまいます。
よろしくお願いします。
JavaScript
1 data: [{x: new Date("2020/10/10"), y: 10}, {x: new Date("2020/12/12"), y: 12}], 2 ↑だとうまくいくのですが↓だとダメです。 3 ブラウザのコンロールでdataに入っている値を見てみましたが全く同じものが入っています。 4 ですが、↓だとdataが空の状態のグラフが表示されてしまいます。 5 data: test_data,
該当のソースコード
javascript
1window.onload = function() { 2 3 var test_data = []; 4 5 fetch(url, { 6 method: "GET", 7 }, 8 }) 9 .then(response => { 10 return response.json(); 11 }) 12 .then(text => { 13 test_data.push({x: new Date("2020/10/10"), y: 10}, {x: new Date("2020/12/12"), y: 12}); 14 //本当は↓のようなことをやりたいですが、条件をシンプルにしたいので↑のようにしました 15 //for(let i in text){ 16 //test_data.push({x: new Date(text[i][0]), y: text[i][1]}); 17 //} 18 }) 19 20 21 var ctx = document.getElementById("myLineChart"); 22 var myLineChart = new Chart(ctx, { 23 type: 'line', 24 data: { 25 datasets: 26 [{ 27 //↓は問題ないです。 28 //data: [{x: new Date("2020/10/10"), y: 10}, {x: new Date("2020/12/12"), y: 12}], 29 //↓はdataが空の状態のものが表示されます。 30 data: test_data, 31 }] 32 }, 33 options: { 34 scales: { 35 xAxes: [{ 36 barPercentage: 0.4, 37 type : 'time', 38 time: { 39 unit: 'month', 40 displayFormats: {month: "M"}, 41 min: new Date('2020/01/01'), 42 max: new Date('2020/12/31'), 43 }, 44 }] 45 }, 46 }); 47} 48
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。