亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript數(shù)據(jù)可視化:ECharts制作地圖

 更新時(shí)間:2021年08月31日 15:58:17   作者:云墨-款哥的博客  
這篇文章主要介紹了Echarts實(shí)現(xiàn)可視化地圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

概述

地圖在我們?nèi)粘5臄?shù)據(jù)可視化分析中是很常見(jiàn)的一種展示手段,不僅美觀而且很大氣。尤其是在大屏展示中更是扮演著必不可缺的角色

注意事項(xiàng)

一. 使用方式

1.百度地圖API(高德地圖API)

  • 需要申請(qǐng)百度API

2.矢量地圖

  • 需要準(zhǔn)備矢量地圖數(shù)據(jù)

二. 實(shí)現(xiàn)步驟

1.ECharts最基本的代碼結(jié)構(gòu)

引入js文件–DOM容器–初始化對(duì)象–設(shè)置option

2.準(zhǔn)備中國(guó)的矢量地圖json文件,放到j(luò)son/map/的目錄下

3.使用Ajax獲取china.json

//
$get('json/map/china.json',function (chinaJson) {})

4.在回調(diào)函數(shù)中往echarts全局對(duì)象注冊(cè)地圖的json數(shù)據(jù)

echarts.registerMap('chinaMap',chinaJson)

5.在geo下設(shè)置

{
    type:'map',
    map:'chinaMap'
}

初步實(shí)現(xiàn)代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>地圖的實(shí)現(xiàn)</title>
    <script src="./lib/echarts.min.js"></script>
    <script src="./lib/jquery.min.js"></script>
</head>
<body>
    <div style="width:600px;height:400px;"></div>
    <script>
        var myCharts = echarts.init(document.querySelector('div'))
        $.get('./json/map/china.json', function (chinaJson) {
            // chinaJson 就是中國(guó)的各個(gè)省份的矢量地圖數(shù)據(jù)
            // console.log(chinaJson);
            // 注冊(cè)地圖數(shù)據(jù)
            echarts.registerMap('chinaMap',chinaJson)
            var option = {
                geo:{
                    type: 'map',
                    //chinaMap需要和registerMap中的第一個(gè)參數(shù)保持一致
                    map: 'chinaMap'
                }
            }
            myCharts.setOption(option)
        })
    </script>
</body>
</html>

返回?cái)?shù)據(jù)chinaJson在瀏覽器后臺(tái)輸出截圖:

在這里插入圖片描述

我們展開(kāi)某一省份看一下(以臺(tái)灣省為例):

在這里插入圖片描述

效果:

在這里插入圖片描述

geo常見(jiàn)配置

允許縮放和拖拽效果

roam: true

名稱(chēng)顯示

label{
show:true
}

初始縮放比例

zoom: 1.2

設(shè)置地圖中心點(diǎn)的坐標(biāo)

// 這個(gè)坐標(biāo)點(diǎn)在我們返回的數(shù)據(jù)里是可以拿到的
center: [121.509062, 25.044332]

添加上面配置之后的效果圖:

在這里插入圖片描述

顯示某一個(gè)省份(河南?。?/h2>

這里沒(méi)什么好說(shuō)的,就是把矢量地圖數(shù)據(jù)由原來(lái)的全國(guó)換成河南就好

PS:款哥是河南的,所以用了河南省舉例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>地圖-某一區(qū)域的展示</title>
    <script src="./lib/echarts.min.js"></script>
    <script src="./lib/jquery.min.js"></script>
</head>
<body>
    <div style="width:600px;height:400px;"></div>
    <script>
        var myCharts = echarts.init(document.querySelector('div'))
        $.get('json/map/henan.json',(ret) => {
            echarts.registerMap('henanMap', ret)
            console.log(ret);
            var option = {
                geo:{
                    type:'map',
                    map:'henanMap',
                    zoom: 1,
                    label: {
                        show: true
                    },
                    center: [115.650497, 34.437054],
                    roam: true
                }
            }
            myCharts.setOption(option)
        })
    </script>
</body>
</html>

效果

在這里插入圖片描述

不同區(qū)域顯示不同顏色

1.顯示基本的中國(guó)地圖

2.將空氣質(zhì)量的數(shù)據(jù)設(shè)置給series下的對(duì)象

3.將series下的數(shù)據(jù)和geo關(guān)聯(lián)起來(lái)

4.配置visualMap

注意:這里我們需要準(zhǔn)備一個(gè)數(shù)組,這個(gè)數(shù)組里面是一個(gè)一個(gè)對(duì)象,每個(gè)對(duì)象有兩個(gè)key值name對(duì)應(yīng)省份名稱(chēng),value對(duì)應(yīng)的是顏色值

先看下效果圖是不是很熟悉:

在這里插入圖片描述

類(lèi)似于我們的新冠數(shù)據(jù)圖就是大致這個(gè)效果,疫情遠(yuǎn)沒(méi)有結(jié)束,大家一定不要掉以輕心,積極接種疫苗,做好日常防護(hù)

代碼如下,注釋也比較詳細(xì),就不一一解讀了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>地圖的實(shí)現(xiàn)</title>
    <script src="./lib/echarts.min.js"></script>
    <script src="./lib/jquery.min.js"></script>
</head>
<body>
    <div style="width:600px;height:400px;"></div>
    <script>
        /**
         * 1.顯示基本的中國(guó)地圖
         * 2.將空氣質(zhì)量的數(shù)據(jù)設(shè)置給series下的對(duì)象
         * 3.將series下的數(shù)據(jù)和geo關(guān)聯(lián)起來(lái)
         * 4.配置visualMap
         */
        var airData = [
            { name: '北京', value: 39.92 },
            { name: '天津', value: 39.13 },
            { name: '上海', value: 31.22 },
            { name: '重慶', value: 66 },
            { name: '河北', value: 147 },
            { name: '河南', value: 113 },
            { name: '云南', value: 25.04 },
            { name: '遼寧', value: 50 },
            { name: '黑龍江', value: 114 },
            { name: '湖南', value: 175 },
            { name: '安徽', value: 117 },
            { name: '山東', value: 92 },
            { name: '新疆', value: 84 },
            { name: '江蘇', value: 67 },
            { name: '浙江', value: 84 },
            { name: '江西', value: 96 },
            { name: '湖北', value: 273 },
            { name: '廣西', value: 59 },
            { name: '甘肅', value: 99 },
            { name: '山西', value: 39 },
            { name: '內(nèi)蒙古', value: 58 },
            { name: '陜西', value: 61 },
            { name: '吉林', value: 51 },
            { name: '福建', value: 29 },
            { name: '貴州', value: 71 },
            { name: '廣東', value: 38 },
            { name: '青海', value: 57 },
            { name: '西藏', value: 24 },
            { name: '四川', value: 58 },
            { name: '寧夏', value: 52 },
            { name: '海南', value: 54 },
            { name: '臺(tái)灣', value: 88 },
            { name: '香港', value: 66 },
            { name: '澳門(mén)', value: 77 },
            { name: '南海諸島', value: 55 }
        ]
        var myCharts = echarts.init(document.querySelector('div'))
        $.get('./json/map/china.json', function (chinaJson) {
            echarts.registerMap('chinaMap',chinaJson)
            var option = {
                geo:{
                    type: 'map',
                    //chinaMap需要和registerMap中的第一個(gè)參數(shù)保持一致
                    map: 'chinaMap',
                    // 允許縮放和拖拽效果
                    roam: true,
                    // 名稱(chēng)顯示
                    label:{
                        show: true
                    }
                },
                series: [
                    {
                        type: 'map',
                        data: airData,
                        geoIndex: 0 //將空氣質(zhì)量的數(shù)據(jù)與第0個(gè)geo的配置關(guān)聯(lián)起來(lái)
                    }
                ],
                visualMap: {
                    min: 0,
                    max: 300,
                    inRange: {
                        // 控制顏色漸變的范圍
                        color: ['#fff', '#f00']
                    },
                    // 出現(xiàn)滑塊
                    calculable: true
                }
            }
            myCharts.setOption(option)
        })
    </script>
</body>
</html>

地圖和散點(diǎn)圖的結(jié)合

1.就是給上面的代碼基礎(chǔ)上,series添加下面這段配置

{
     data: scatterData,  //配置散點(diǎn)的坐標(biāo)數(shù)據(jù)
     type: 'effectScatter',
     coordinateSystem: 'geo', //指明散點(diǎn)使用的坐標(biāo)系統(tǒng)  geo的坐標(biāo)系統(tǒng)
     rippleEffect: {
          scale: 10  //設(shè)置漣漪動(dòng)畫(huà)的縮放比例
     }
}

效果圖:

在這里插入圖片描述

總結(jié)

本片文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 淺談tudou土豆網(wǎng)首頁(yè)圖片延遲加載的效果

    淺談tudou土豆網(wǎng)首頁(yè)圖片延遲加載的效果

    經(jīng)常上tudou網(wǎng),發(fā)現(xiàn)tudou首頁(yè)加載圖片的功能很有意思,tudou首頁(yè)從"娛樂(lè)"這個(gè)板塊往下的所有視頻的縮略圖并不是在頁(yè)面打開(kāi)后就加載的,而是當(dāng)用戶(hù)拖動(dòng)滾動(dòng)條到了"娛樂(lè)"這個(gè)板塊,才開(kāi)始加載圖片的。
    2010-06-06
  • 詳解webpack中的hash、chunkhash、contenthash區(qū)別

    詳解webpack中的hash、chunkhash、contenthash區(qū)別

    這篇文章主要介紹了詳解webpack中的hash、chunkhash、contenthash區(qū)別,詳細(xì)的介紹了hash、chunkhash、contenthash的用法和區(qū)別,有興趣的可以了解一下
    2018-01-01
  • js判斷數(shù)據(jù)類(lèi)型如判斷是否為數(shù)組是否為字符串等等

    js判斷數(shù)據(jù)類(lèi)型如判斷是否為數(shù)組是否為字符串等等

    js判斷數(shù)據(jù)類(lèi)型如判斷是否為數(shù)組類(lèi)型、判斷是否為字符串類(lèi)型、判斷是否為數(shù)值類(lèi)型等等,本文有幾個(gè)不錯(cuò)的示例,大家可以學(xué)習(xí)下
    2014-01-01
  • javascript語(yǔ)句中的CDATA標(biāo)簽的意義

    javascript語(yǔ)句中的CDATA標(biāo)簽的意義

    javascript語(yǔ)句中的CDATA標(biāo)簽的意義...
    2007-05-05
  • JavaScript監(jiān)控埋點(diǎn)的實(shí)現(xiàn)與詳細(xì)用法

    JavaScript監(jiān)控埋點(diǎn)的實(shí)現(xiàn)與詳細(xì)用法

    埋點(diǎn)(Event Tracking)是用戶(hù)行為監(jiān)控的一種技術(shù)手段,通常用于收集用戶(hù)在網(wǎng)站或應(yīng)用中的操作數(shù)據(jù),例如點(diǎn)擊、頁(yè)面瀏覽、滾動(dòng)等,本文給大家介紹了JavaScript監(jiān)控埋點(diǎn)的實(shí)現(xiàn)與詳細(xì)用法,需要的朋友可以參考下
    2024-10-10
  • JS前端面試題詳解之手寫(xiě)bind

    JS前端面試題詳解之手寫(xiě)bind

    這篇文章主要為大家介紹了JavaScript前端面試題中常出現(xiàn)的問(wèn)題:如何用JavaScript來(lái)實(shí)現(xiàn)內(nèi)置的bind方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-07-07
  • JavaScript版本迷局介紹

    JavaScript版本迷局介紹

    有人說(shuō)喜歡一個(gè)人,沒(méi)必要了解她的過(guò)去,然而想讀懂一個(gè)人,卻需要了解她的過(guò)去。
    2011-01-01
  • JS上傳前預(yù)覽圖片實(shí)例

    JS上傳前預(yù)覽圖片實(shí)例

    上傳圖片對(duì)圖片進(jìn)行一下預(yù)覽,可以了解圖片上傳后大概會(huì)是什么樣子,此功能用js實(shí)現(xiàn),然后在fileupload控件的change事件中調(diào)用,這樣當(dāng)用fileupload選擇完圖片以后,圖片就會(huì)自動(dòng)顯示出來(lái)了。功能很簡(jiǎn)單,卻很實(shí)用。
    2013-03-03
  • JavaScript中幾種時(shí)間格式之間的簡(jiǎn)單轉(zhuǎn)換

    JavaScript中幾種時(shí)間格式之間的簡(jiǎn)單轉(zhuǎn)換

    近期在練習(xí)或?qū)戫?xiàng)目時(shí)經(jīng)常會(huì)遇到時(shí)間格式的轉(zhuǎn)換問(wèn)題,今天我就來(lái)總結(jié)一下,這篇文章主要給大家介紹了關(guān)于JavaScript中幾種時(shí)間格式之間的簡(jiǎn)單轉(zhuǎn)換,需要的朋友可以參考下
    2024-01-01
  • 獲取select元素被選中的文本內(nèi)容的js代碼

    獲取select元素被選中的文本內(nèi)容的js代碼

    獲取select元素被選中的文本內(nèi)容的方法有很多,本文為大家介紹下使用javascript來(lái)輕松實(shí)現(xiàn)下
    2014-01-01

最新評(píng)論