動的な並べ替え棒グラフ
関連オプション
棒グラフレースは、データのランキングの時間経過による変化を示すチャートで、ECharts 5 からデフォルトでサポートされています。
棒グラフレースは通常、横棒を使用します。縦棒を使用したい場合は、このチュートリアルでX軸とY軸を逆にするだけです。
- 棒グラフシリーズの
realtimeSort
をtrue
に設定して、棒グラフレースを有効にします yAxis.inverse
をtrue
に設定して、長いバーが上部に表示されるようにします- 最初の棒の並び替えアニメーションでは、
yAxis.animationDuration
を300
に設定することをお勧めします - 後の棒の並び替えアニメーションでは、
yAxis.animationDurationUpdate
を300
に設定することをお勧めします - 表示する棒の数をnとすると、
yAxis.max
をn - 1に設定します。それ以外の場合は、すべての棒が表示されます - データの最大値がX軸の最大値として使用されるように、
xAxis.max
を'dataMax'
に設定することをお勧めします。 - リアルタイムのラベル変更が必要な場合は、
series.label.valueAnimation
をtrue
に設定します - 最初のアニメーションが0から開始しないように、
animationDuration
を0
に設定します。それ以外の場合は、animationDurationUpdate
と同じ値を設定します - アニメーションの更新期間には、
animationDurationUpdate
を3000
に設定することをお勧めします。これは、setOption
を呼び出す頻度と同じにする必要があります animationDurationUpdate
の頻度でsetInterval
を使用して、次の時間のデータに更新するためにsetOption
を呼び出します
デモ
完全なデモ
var data = []; for (let i = 0; i < 5; ++i) { data.push(Math.round(Math.random() * 200)); } option = { xAxis: { max: 'dataMax' }, yAxis: { type: 'category', data: ['A', 'B', 'C', 'D', 'E'], inverse: true, animationDuration: 300, animationDurationUpdate: 300, max: 2 // only the largest 3 bars will be displayed }, series: [ { realtimeSort: true, name: 'X', type: 'bar', data: data, label: { show: true, position: 'right', valueAnimation: true } } ], legend: { show: true }, animationDuration: 0, animationDurationUpdate: 3000, animationEasing: 'linear', animationEasingUpdate: 'linear' }; function run() { var data = option.series[0].data; for (var i = 0; i < data.length; ++i) { if (Math.random() > 0.9) { data[i] += Math.round(Math.random() * 2000); } else { data[i] += Math.round(Math.random() * 200); } } myChart.setOption(option); } setTimeout(function() { run(); }, 0); setInterval(function() { run(); }, 3000);
ライブ