动态排序柱状图
相关选项
柱状图竞速是一种图表,用于展示数据在一段时间内的排名变化,自 ECharts 5 起默认支持。
条形竞速图通常使用水平条形。如果您想使用垂直条形,只需将本教程中的 X 轴和 Y 轴取反即可。
- 将条形系列的
realtimeSort
设为true
以启用条形竞速 - 将
yAxis.inverse
设为true
以在顶部显示较长的条形 - 建议将
yAxis.animationDuration
设为300
以用于首次条形重新排序动画 - 建议将
yAxis.animationDurationUpdate
设为300
以用于后续条形重新排序动画 - 将
yAxis.max
设为 n - 1,其中 n 是要显示的条形数;否则,将显示所有条形 - 建议将
xAxis.max
设为'dataMax'
,以便将数据最大值用作 X 最大值。 - 如果需要实时标签更改,请将
series.label.valueAnimation
设为true
- 将
animationDuration
设为0
,以便第一个动画不从 0 开始;如果您希望相反,请将其设为与animationDurationUpdate
相同的值 - 建议将
animationDurationUpdate
设为3000
以用于动画更新持续时间,该持续时间应与调用setOption
的频率相同 - 使用
setInterval
以animationDurationUpdate
的频率调用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);
直播