echarts如何在一个canvas下 默认显示当前 图的备注(页面已加载就显示,不hover click等)

发布于 2022-09-07 21:00:49 字数 4202 浏览 11 评论 0

图片描述

如何配置可以使得图片标注文字显示### 问题描述

问题出现的环境背景及自己尝试过哪些方法

因为公司的业务背景 需要给每一个series下的数据显示一个别名

试了下用两个定时器来
setTimeout(() => {

            this.echart.dispatchAction({
                type: 'showTip',
                seriesIndex:0,
                dataIndex:0,
                position: ['25%', '75%']
            });
        },1000);
        setTimeout(() => {
            this.echart.dispatchAction({
                type: 'showTip',
                seriesIndex:1,
                dataIndex:0,
                position: ['70%', '75%']
            });
        },2000)
        
        但是好像第二个定时器的tooltip覆盖了第一个定时器的效果

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
<script>

import echart from 'echarts'



export default {
    data() {
        return {
            echart:null,
            option:{
                tooltip: {
                    triggerOn: 'none',
                },
                legend: {
                    orient: 'vertical',
                    x: 'left',
                    data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
                },
                series: [
                    {
                        name:'访问来源1',
                        type:'pie',
                        tooltip: {
                            triggerOn: 'none',
                            formatter: "访问来源1",
                            alwaysShowContent:true
                        },
                        labelLine: {
                            normal: {
                                show: false
                            }
                        },
                        radius: ['10%', '20%'],
                        center : ['25%', '50%'],
                        avoidLabelOverlap: false,
                        data:[
                            {value:3351, name:'直接访问'},
                            {value:3101, name:'邮件营销'},
                            {value:2341, name:'联盟广告'},
                            {value:1351, name:'视频广告'},
                            {value:15481, name:'搜索引擎'}
                        ]
                    },
                    {
                        name:'访问来源2',
                        type:'pie',
                        tooltip: {
                            triggerOn: 'none',
                            formatter: "访问来源2",
                            alwaysShowContent:true
                        },
                        labelLine: {
                            normal: {
                                show: false
                            }
                        },
                        radius: ['10%', '20%'],
                        center : ['75%', '50%'],
                        avoidLabelOverlap: false,
                        data:[
                            {value:335, name:'直接访问'},
                            {value:310, name:'邮件营销'},
                            {value:234, name:'联盟广告'},
                            {value:135, name:'视频广告'},
                            {value:1548, name:'搜索引擎'}
                        ]
                    }
                ]
            }

        };
    },
    methods: {

    },
    mounted(){
        this.echart = echart.init(document.getElementById('canvas1'))


        // 模拟数据
        setTimeout( () => {
            this.echart.setOption(this.option)
        },1000)

        setTimeout(() => {
            this.echart.dispatchAction({
                type: 'showTip',
                seriesIndex:0,
                dataIndex:0,
                position: ['25%', '75%']
            });
        },1000);
        setTimeout(() => {
            this.echart.dispatchAction({
                type: 'showTip',
                seriesIndex:1,
                dataIndex:0,
                position: ['70%', '75%']
            });
        },2000)
    },
    components: {

    }
}

</script>

你期待的结果是什么?实际看到的错误信息又是什么?

实际上看到的先显示访问来源1 再显示访问来源2
图片描述
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如果没有你 2022-09-14 21:00:49

在文档上看到这样的描述
可以通过batch 参数批量分发多个 action

myChart.dispatchAction({
    type: 'dataZoom',
    batch: [{
        // 第一个 dataZoom 组件
        start: 20,
        end: 30
    }, {
        // 第二个 dataZoom 组件
        dataZoomIndex: 1,
        start: 10,
        end: 20
    }]
})

未亲测,你可以试下

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文