VUEecharts图表之得分环

// main.js
import 'element-ui/lib/theme-chalk/index.css';
import 'echarts';
// 页面使用
<template>
    <div>
        <div :style="{ width: '700px', height: '500px' }" ref="yibiaoid"></div>
    </div>
</template>

<script>
let echarts = require("echarts/lib/echarts");
export default {
    data() {
        return {

        }
    },
    mounted() {
        this.$nextTick(() => {
            this.fn1();
        });
    },
    methods: {
        fn1() {
            let myChart = echarts.init(this.$refs.yibiaoid);
            window.onresize = myChart.resize;
            const gaugeData = [
                {
                    value: 20,
                    name: 'Perfect',
                    title: {
                        offsetCenter: ['0%', '-30%']
                    },
                    detail: {
                        valueAnimation: true,
                        offsetCenter: ['0%', '-20%']
                    }
                },
                {
                    value: 40,
                    name: 'Good',
                    title: {
                        offsetCenter: ['0%', '0%']
                    },
                    detail: {
                        valueAnimation: true,
                        offsetCenter: ['0%', '10%']
                    }
                },
                {
                    value: 60,
                    name: 'Commonly',
                    title: {
                        offsetCenter: ['0%', '30%']
                    },
                    detail: {
                        valueAnimation: true,
                        offsetCenter: ['0%', '40%']
                    }
                }
            ];
            myChart.setOption({
                series: [
                    {
                        type: 'gauge',
                        startAngle: 90,
                        endAngle: -270,
                        pointer: {
                            show: false
                        },
                        progress: {
                            show: true,
                            overlap: false,
                            roundCap: true,
                            clip: false,
                            itemStyle: {
                                borderWidth: 1,
                                borderColor: '#464646'
                            }
                        },
                        axisLine: {
                            lineStyle: {
                                width: 40
                            }
                        },
                        splitLine: {
                            show: false,
                            distance: 0,
                            length: 10
                        },
                        axisTick: {
                            show: false
                        },
                        axisLabel: {
                            show: false,
                            distance: 50
                        },
                        data: gaugeData,
                        title: {
                            fontSize: 14
                        },
                        detail: {
                            width: 50,
                            height: 14,
                            fontSize: 14,
                            color: 'auto',
                            borderColor: 'auto',
                            borderRadius: 20,
                            borderWidth: 1,
                            formatter: '{value}%'
                        }
                    }
                ]
            }, true);
            setInterval(function () {
                gaugeData[0].value = +(Math.random() * 100).toFixed(2);
                gaugeData[1].value = +(Math.random() * 100).toFixed(2);
                gaugeData[2].value = +(Math.random() * 100).toFixed(2);
                myChart.setOption({
                    series: [
                        {
                            data: gaugeData,
                            pointer: {
                                show: false
                            }
                        }
                    ]
                });
            }, 2000);

        }
    },
}
</script>

<style>
</style>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值