vue+Echarts实现多设备状态甘特图
要在Vue中使用ECharts实现多设备状态甘特图,你需要首先安装ECharts,然后创建一个Vue组件,在该组件中初始化ECharts实例并配置甘特图的选项。
以下是一个简单的例子:
- 安装ECharts:
npm install echarts --save
- 创建一个Vue组件(例如
FtChart.vue
):
<template>
<div ref="ftChart" style="width: 600px; height: 400px;"></div>
</template>
<script>
import * as echarts from 'echarts/core';
import { FunnelChart } from 'echarts/charts';
import {
TitleComponent,
TooltipComponent,
GridComponent,
DatasetComponent,
TransformComponent
} from 'echarts/components';
import { CanvasRenderer } from 'echarts/renderers';
echarts.use([
TitleComponent,
TooltipComponent,
GridComponent,
DatasetComponent,
TransformComponent,
FunnelChart,
CanvasRenderer
]);
export default {
name: 'FtChart',
props: {
// 假设传入的数据格式如下
// data: [
// { source: '开始', target: '设备连接', itemStyle: { color: 'green' } },
// // ...更多数据
// ]
data: {
type: Array,
required: true
}
},
mounted() {
this.initChart();
},
methods: {
initChart() {
const chart = echarts.init(this.$refs.ftChart);
chart.setOption({
tooltip: {
trigger: 'item',
backgroundColor: 'rgba(255, 255, 255, 0.8)'
},
series: [
{
type: 'funnel',
width: '60%',
data: this.data,
label: {
show: false
},
labelLine: {
show: false
}
}
]
});
}
}
};
</script>
- 在父组件中使用
FtChart
组件:
<template>
<div>
<ft-chart :data="deviceStatusData"></ft-chart>
</div>
</template>
<script>
import FtChart from './FtChart.vue';
export default {
components: {
FtChart
},
data() {
return {
deviceStatusData: [
{ name: '开始', value: 0 },
{ name: '设备连接', value: 12 },
// ...更多数据
]
};
}
};
</script>
确保你传递给FtChart
组件的data
属性是一个正确格式的对象数组,每个对象代表一个流程阶段,ECharts将根据这个数据来生成甘特图。
评论已关闭