chengxiang123

一、空气质量图

代码和配置如下:

<template>
    <div class="box">
        <div id="map"></div>
    </div>
</template>

<script>

import china from \'echarts/map/js/china.js\'
export default {
    data(){
        return {

        }
    },
    mounted(){
        this.mapFn()
    },
    methods:{
        mapFn(){
            // 基于准备好的dom,初始化echarts实例
            var mapChart = this.$echarts.init(document.getElementById(\'map\'));
            mapChart.setOption({
                backgroundColor: \'#404a59\', //背景颜色
                title: {
                    text: \'全国主要城市空气质量\',
                    subtext: \'data from PM25.in\',
                    sublink: \'http://www.pm25.in\',
                    x:\'center\',
                },
                legend: { //图例组件。
                    orient: \'vertical\',
                    y: \'bottom\',
                    x:\'right\',
                    data:[\'pm2.5\'],
                    textStyle: {
                        color: \'#fff\'
                    }
                },
                //是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。
                visualMap: {
                    min: 0, //最小值
                    max: 600, //最大值
                    calculable: true, //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)。
                    inRange: {
                        color: [\'#4cb0dd\', \'#2d79ad\', \'#265da0\'] //颜色
                    },
                    textStyle: {
                        color: \'#fff\'
                    },
                },
                // 提示框,鼠标移入
                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
                    },
                ]
            })
        }
    }
}
</script>

<style scoped>
.box{
    margin-top:20px;
}
#map{
    width:1200px;
    height:720px;
}
</style>

 

二、散点图。geo

代码和配置:

<template>
    <div class="box">
        <div id="chart"></div>
    </div>
</template>

<script>
import china from \'echarts/map/js/china.js\'
export default {
    mounted(){
        this.mYChart()
    },
    methods:{
        mYChart(){
            var mapChart = this.$echarts.init(document.getElementById(\'chart\'));
            mapChart.setOption({
                backgroundColor: \'#404a59\',
                title: {
                    text: \'主标题\',
                    subtext: \'副标题\',
                    sublink: \'http://www.pm25.in\',
                    left: \'center\'
                },
                //地理坐标系组件用于地图的绘制,支持在地理坐标系上绘制散点图,线集。
                //要显示散点图,必须填写这个配置
                geo:{
                    show:true,
                    roam: true, //是否允许鼠标滚动放大,缩小
                    map:\'china\',
                    label: {  //图形上的文本标签,可用于说明图形的一些数据信息
                        show:true,  //是否显示文本
                        color:\'#CCC\',  //文本颜色
                    },
                    itemStyle: { //地图区域的多边形 图形样式。 默认样试。
                        areaColor: \'#323c48\', //地图区域的颜色。
                        borderColor: \'#111\', //边框线
                    },
                    emphasis:{ //高亮状态下的多边形和标签样式。
                        label:{ //文本
                            color: \'#ADA\',
                        },
                        itemStyle:{ //区域
                            areaColor: \'#F60\'
                        }
                    },
                    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)}
                    ],
                },
                tooltip:{
                    show:true,
                },
                //是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。
                visualMap: {
                    min: 0, //最小值
                    max: 600, //最大值
                    calculable: true, //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)。
                    inRange: {
                        color: [\'#e83e5e\',\'#fb2a08\', \'#d6f628\'] //颜色
                    },
                    textStyle: {
                        color: \'#fff\'
                    },
                },
                series:[
                    {
                        type:\'effectScatter\', //样试
                        coordinateSystem:\'geo\', //该系列使用的坐标系
                        data:[ //数据
                            {name: \'宜昌\', value: [111.3,30.7,330]},
                            {name: \'信阳\', value: [114.089435,32.167686,440]},
                            {name: \'北京\', value: [116.422586,39.921549,560]}
                        ],
                        itemStyle: { //样试。
                            normal:{ //默认样试
                                color: \'#d6f628\' 
                            }
                        },
                        label: {
                            normal: {
                                formatter: \'{b}\',
                                position: \'right\',
                                show: true
                            }
                        },
                        //标记的大小,可以设置数组或者函数返回值的形式
                        symbolSize: function (val) {
                            return val[2] / 25;
                        }, 
                        rippleEffect: { //涟漪特效相关配置。
                            brushType: \'stroke\' //波纹的绘制方式
                        },
                        hoverAnimation: true, //鼠标移入放大圆
                    }
                ]
            }),
            mapChart.on(\'click\',function(data){
                console.log(data)
            })
        }
    }    
}
</script>

<style scoped>
.box{
    margin-top:30px;
}
#chart{
    width: 1000px;
    height: 620px;
}
</style>

 

三、vue里面使用。bmap 百度地图

<template>
    <div class="bxo">
        <div id="bmap"></div>
    </div>
</template>

<script>
import bmap from \'echarts/extension/bmap/bmap.js\'
export default {
    data(){
        return{
            
        }
    },
    mounted(){
        this.bmapFn()
        console.log("加载")
    },  
    methods:{
        bmapFn(){
            var mapChart = this.$echarts.init(document.getElementById(\'bmap\'));
            mapChart.setOption({
                title:{
                    text:\'地图s\'
                },
                bmap: {
                    center: [116.307698, 40.056975], // 中心位置坐标
                    zoom: 5, // 地图缩放比例
                    roam: true, // 开启用户缩放
                    mapStyle: {
                    styleJson: [{  //地图样试
                                \'featureType\': \'water\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'color\': \'#d1d1d1\'
                                }
                            }, {
                                \'featureType\': \'land\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'color\': \'#f3f3f3\'
                                }
                            }, {
                                \'featureType\': \'railway\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'visibility\': \'off\'
                                }
                            }, {
                                \'featureType\': \'highway\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'color\': \'#fdfdfd\'
                                }
                            }, {
                                \'featureType\': \'highway\',
                                \'elementType\': \'labels\',
                                \'stylers\': {
                                    \'visibility\': \'off\'
                                }
                            }, {
                                \'featureType\': \'arterial\',
                                \'elementType\': \'geometry\',
                                \'stylers\': {
                                    \'color\': \'#fefefe\'
                                }
                            }, {
                                \'featureType\': \'arterial\',
                                \'elementType\': \'geometry.fill\',
                                \'stylers\': {
                                    \'color\': \'#fefefe\'
                                }
                            }, {
                                \'featureType\': \'poi\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'visibility\': \'off\'
                                }
                            }, {
                                \'featureType\': \'green\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'visibility\': \'off\'
                                }
                            }, {
                                \'featureType\': \'subway\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'visibility\': \'off\'
                                }
                            }, {
                                \'featureType\': \'manmade\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'color\': \'#d1d1d1\'
                                }
                            }, {
                                \'featureType\': \'local\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'color\': \'#d1d1d1\'
                                }
                            }, {
                                \'featureType\': \'arterial\',
                                \'elementType\': \'labels\',
                                \'stylers\': {
                                    \'visibility\': \'off\'
                                }
                            }, {
                                \'featureType\': \'boundary\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'color\': \'#fefefe\'
                                }
                            }, {
                                \'featureType\': \'building\',
                                \'elementType\': \'all\',
                                \'stylers\': {
                                    \'color\': \'#d1d1d1\'
                                }
                            }, {
                                \'featureType\': \'label\',
                                \'elementType\': \'labels.text.fill\',
                                \'stylers\': {
                                    \'color\': \'#999999\'
                                }
                        }]
                    }
                }
            })
        }
    }
}
</script>

<style scoped>
.box{
    margin-top:20px;
}
#bmap{
    width: 1000px;
    height: 620px;
}
</style>

  

分类:

技术点:

相关文章: