vue中echarts@4.9版本,地图的使用方式

 更新时间:2024年02月29日 08:52:21   作者:广州第22号吴彦祖  
这篇文章主要介绍了vue中echarts@4.9版本地图的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue echarts@4.9版本地图的使用

避免进坑,亲测4.9版本正常,5.0版本不支持因为官方移除了地图数据和map文件夹,

安装echarts

npm install echarts@4.9.0

在main.js写入

import echarts from 'echarts'
import 'echarts/map/js/china' 
Vue.prototype.$echarts = echarts

map地图组件

<template>
    <div class="chinaecharts">
        <div id="mapChart" ref="mapChart" ></div>
    </div>
</template>
<script>
export default {
    name: 'ChinaEcharts',
    methods: {
        mapFn(){
            // 基于准备好的dom,初始化echarts实例
            // var mapChart = this.$echarts.init(this.$refs.mapChart);
            var mapChart = this.$echarts.init(document.getElementById('mapChart'));
            mapChart.setOption({
                backgroundColor: '', //背景颜色
                title: {
                    text: '你好啊中国',
                    subtext: '我来自中国',
                    color: '#fff',
                    fontSize:'14px',
                    // sublink: 'http://www.pm25.in',
                    x:'left',
                },
                //是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。
                visualMap: {
                    orient: 'horizontal', 
                    text:['低','高'],
                    min: 0, //最小值
                    max: 600, //最大值
                    calculable: false, //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)。
                    inRange: {
                        color: ['#0F9D90', '#39B1A6', '#95DCD7', '#AEE7E4', '#D7FBFA'] //颜色
                    },
                    textStyle: {
                        color: '#000'
                    },
                },
                // 提示框,鼠标移入
                tooltip:{
                    show:true, //鼠标移入是否触发数据
                    trigger: 'item', //出发方式
                    formatter:'{b}-销售数量:{c}'
                },
                //配置地图的数据,并且显示
                series:[
                    {
                        name:'地图',
                        type: 'map',  //地图种类
                        map: 'china', //地图类型。
                        data:[
                            {name: '北京',value: Math.round(Math.random()*500)},
                            {name: '天津',value: Math.round(Math.random()*500)},
                            {name: '上海',value: Math.round(Math.random()*500)},
                            {name: '重庆',value: Math.round(Math.random()*500)},
                            {name: '河北',value: Math.round(Math.random()*500)},
                            {name: '河南',value: Math.round(Math.random()*500)},
                            {name: '云南',value: Math.round(Math.random()*500)},
                            {name: '辽宁',value: Math.round(Math.random()*500)},
                            {name: '黑龙江',value: Math.round(Math.random()*500)},
                            {name: '湖南',value: Math.round(Math.random()*500)},
                            {name: '安徽',value: Math.round(Math.random()*500)},
                            {name: '山东',value: Math.round(Math.random()*500)},
                            {name: '新疆',value: Math.round(Math.random()*500)},
                            {name: '江苏',value: Math.round(Math.random()*500)},
                            {name: '浙江',value: Math.round(Math.random()*500)},
                            {name: '江西',value: Math.round(Math.random()*500)},
                            {name: '湖北',value: Math.round(Math.random()*500)},
                            {name: '广西',value: Math.round(Math.random()*500)},
                            {name: '甘肃',value: Math.round(Math.random()*500)},
                            {name: '山西',value: Math.round(Math.random()*500)},
                            {name: '内蒙古',value: Math.round(Math.random()*500)},
                            {name: '陕西',value: Math.round(Math.random()*500)},
                            {name: '吉林',value: Math.round(Math.random()*500)},
                            {name: '福建',value: Math.round(Math.random()*500)},
                            {name: '贵州',value: Math.round(Math.random()*500)},
                            {name: '广东',value: Math.round(Math.random()*500)},
                            {name: '青海',value: Math.round(Math.random()*500)},
                            {name: '西藏',value: Math.round(Math.random()*500)},
                            {name: '四川',value: Math.round(Math.random()*500)},
                            {name: '宁夏',value: Math.round(Math.random()*500)},
                            {name: '海南',value: Math.round(Math.random()*500)},
                            {name: '台湾',value: Math.round(Math.random()*500)},
                            {name: '香港',value: Math.round(Math.random()*500)},
                            {name: '澳门',value: Math.round(Math.random()*500)},
                            {name: '南海诸岛',value: Math.round(Math.random()*500)}
                        ],
                        itemStyle: { //地图区域的多边形 图形样式。
                            emphasis:{ //高亮状态下的样试
                                label:{
                                    show:true,
                                }
                            }
                        },
                        zoom:1,//放大比例
                        label: {  //图形上的文本标签,可用于说明图形的一些数据信息
                            show:true,
                        },
                    },
                    {
                        type:'scatter',
                        showEffectOn: 'render',//配置什么时候显示特效
                        coordinateSystem:'geo',//该系列使用的坐标系
                        symbolSize:10,//标记的大小
                        data:[
                            {name: '宜昌', value: [111.3,30.7,130]},
                        ],
                        zlevel:99999
                    },
                ],
            }),
            window.addEventListener('resize', () => {
                // 自动渲染echarts
                mapChart.resize();
            })
        }
    },
    mounted () {
        this.mapFn();
    }
}
</script>
<style scoped>
.chinaecharts {
    width: 100%;
    height: 100%;
}
#mapChart {
    width: 100%;
    height: 100%;
}
</style>

然后按组件引入即可使用 效果如下

echarts配置:(https://echarts.apache.org/zh/api.html#echarts)

echarts地图不显示图例

如果你的 echarts 地图不显示图例

可能是以下几个原因导致的

  • 没有启用图例。在配置项中,可以使用 legend.show 属性来控制是否显示图例。如果将其设置为 false,则不会显示图例。
  • 图例被遮盖。如果图例位置与其他图形重叠,则可能会被遮盖,导致看不到图例。
  • 图例样式设置不当。在配置项中,你可以使用 legend.textStyle 属性来设置图例文字的样式,包括颜色、大小、字体等。如果设置不当,图例可能看不清。
  • 数据不正确。如果你的数据中没有包含图例所需的信息,或者数据格式不正确,则可能导致图例不显示。

建议检查以上几点,找出导致图

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue虚拟DOM详细介绍

    Vue虚拟DOM详细介绍

    虚拟DOM的概念是通过状态生成一个虚拟节点树,然后使用虚拟节点树进行渲染。在渲染之前,会使用新生成的虚拟节点和上一次生成的虚拟节点进行对比,只渲染不同的部分
    2022-08-08
  • 监听element-ui table滚动事件的方法

    监听element-ui table滚动事件的方法

    这篇文章主要介绍了监听element-ui table滚动事件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Vue.js 点击按钮显示/隐藏内容的实例代码

    Vue.js 点击按钮显示/隐藏内容的实例代码

    下面小编就为大家分享一篇Vue.js 点击按钮显示/隐藏内容的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 使用vuetify实现全局v-alert消息通知的方法

    使用vuetify实现全局v-alert消息通知的方法

    使用强大的Vuetify开发前端页面,结果发现官方没有提供简便的全局消息通知组件,所以自己动手写了一个简单的组件,接下来通过本文给大家介绍使用vuetify实现全局v-alert消息通知的详细代码,感兴趣的朋友跟随小编一起看看吧
    2024-02-02
  • 详解element-ui设置下拉选择切换必填和非必填

    详解element-ui设置下拉选择切换必填和非必填

    这篇文章主要介绍了详解element-ui设置下拉选择切换必填和非必填,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 详解vue Router(v3.x) 路由传参的三种方式

    详解vue Router(v3.x) 路由传参的三种方式

    vue路由传参的使用场景一般都是应用在父路由跳转到子路由时,携带参数跳转,本文将详细介绍vue路由传参的三种方式,这三种传参方式只是针对vue Router V3版本的,需要的朋友可以参考下
    2023-07-07
  • 浅谈Vue3中key的作用和工作原理

    浅谈Vue3中key的作用和工作原理

    本文主要介绍了Vue3中key的作用和工作原理,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • vue v-model动态生成详解

    vue v-model动态生成详解

    本篇文章给大家分享了vue v-model动态生成的相关知识点以及实例代码,有兴趣的朋友参考学习下。
    2018-06-06
  • Vue快速实现通用表单验证的方法

    Vue快速实现通用表单验证的方法

    这篇文章主要介绍了Vue快速实现通用表单验证的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Vue多组件仓库开发与发布详解

    Vue多组件仓库开发与发布详解

    这篇文章主要介绍了Vue多组件仓库开发与发布详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02

最新评论