echarts写一个会根据数据变色的横向进度条
时间: 2024-02-01 08:14:10 浏览: 71
一个颜色渐变的进度条
好的,我可以给你提供一个简单的 echarts 横向进度条的 demo,它可以根据数据动态改变颜色。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts Demo</title>
<!-- 引入 echarts.js -->
<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script>
</head>
<body>
<!-- 定义一个容器来放置 echarts -->
<div id="chart" style="width: 600px;height: 60px;"></div>
<script>
// 初始化 echarts 实例,并设置宽高
var myChart = echarts.init(document.getElementById('chart'));
// 定义数据,这里只有一个值,可以根据实际情况修改
var data = [70];
// 定义选项,包括背景色、轴、进度条颜色等
var option = {
backgroundColor: '#f5f5f5',
xAxis: {
show: false,
type: 'value',
min: 0,
max: 100,
axisLine: {
show: false
},
axisTick: {
show: false
},
splitLine: {
show: false
}
},
yAxis: {
show: false,
type: 'category',
data: [''],
axisLine: {
show: false
},
axisTick: {
show: false
}
},
series: [
{
type: 'bar',
data: data,
barWidth: 20,
itemStyle: {
color: function(params) {
// 根据数据值动态设置进度条颜色
var value = params.value;
if (value >= 90) {
return '#1abc9c';
} else if (value >= 70) {
return '#f1c40f';
} else {
return '#e74c3c';
}
}
},
label: {
show: true,
position: 'insideRight',
formatter: '{c}%'
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
```
在这个 demo 中,我们使用了 echarts 的 bar 图表类型来实现横向进度条。通过在 `itemStyle` 中设置 `color` 属性,可以根据数据动态设置进度条的颜色。在这个例子中,如果数据值大于等于 90,进度条将显示为绿色;如果大于等于 70,进度条将显示为黄色;否则,进度条将显示为红色。
你可以根据需要修改代码中的数据和选项来适应不同的场景。
阅读全文