77 lines
1.3 KiB
Markdown
77 lines
1.3 KiB
Markdown
````md
|
|
::: echarts A bar chart
|
|
```js
|
|
const data = []
|
|
|
|
for (let i = 0; i < 5; i++) data.push(Math.round(Math.random() * 200))
|
|
|
|
const 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,
|
|
label: {
|
|
show: true,
|
|
position: 'right',
|
|
valueAnimation: true,
|
|
},
|
|
},
|
|
],
|
|
legend: {
|
|
show: true,
|
|
},
|
|
toolbox: {
|
|
show: true,
|
|
feature: {
|
|
mark: {
|
|
show: true,
|
|
},
|
|
dataView: {
|
|
show: true,
|
|
readOnly: false,
|
|
},
|
|
restore: {
|
|
show: true,
|
|
},
|
|
saveAsImage: {
|
|
show: true,
|
|
},
|
|
},
|
|
},
|
|
animationDuration: 0,
|
|
animationDurationUpdate: 3000,
|
|
animationEasing: 'linear',
|
|
animationEasingUpdate: 'linear',
|
|
}
|
|
function run() {
|
|
for (let i = 0; i < data.length; i++)
|
|
data[i] += Math.round(Math.random() * Math.random() > 0.9 ? 2000 : 200)
|
|
|
|
echarts.setOption({
|
|
series: [{ type: 'bar', data }],
|
|
})
|
|
}
|
|
|
|
const timeId = setInterval(() => {
|
|
if (echarts._disposed)
|
|
return clearInterval(timeId)
|
|
|
|
run()
|
|
}, 3000)
|
|
```
|
|
:::
|
|
````
|