欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

react使用echart繪制地圖的案例

 更新時(shí)間:2023年01月11日 09:39:04   作者:致愛麗絲  
這篇文章主要介紹了react使用echart繪制地圖,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一:導(dǎo)入靜態(tài)文件

import { useEffect, useRef } from 'react'
import * as echarts from 'echarts'
import { DownLoadPath } from "./data-overview/type"
import { ECHARTS_THEME } from './assets/static'
import myChinaMap from '/assets/static/china_new.json'

二:初始化配置

函數(shù)式組件,接受需要導(dǎo)入的數(shù)據(jù)

//解構(gòu)props. resourceList:資源列表 
function myEchart({resourceList}){
   const divRef = useRef()    // 獲取組件dom-ref
  // 防御性編程 如果resourceList為空則直接終止
  if(!Array.isArray(resourceList)  || (Array.isArray(resourceList) && resourceList.length<1  )) return 
   useeffect(()=>{
    // 防御性編程,divRef.current:綁定的dom元素名,比如{current:div},如果不存在,則程序到此終止。
    if (!divRef.current) return
    // 有時(shí)候傳入的數(shù)據(jù)對(duì)象key名與echart要求的可能不同,因而,需要基于傳入數(shù)據(jù)重新配置內(nèi)部對(duì)象
    const myCustomizeResourceList = []
    resourceList.foreach((item,index)=>{
      //echart要求格式為{name:xxx,value:xxx}
      myCustomizeResourceList.push({
          name:item.xx,
          value:item.yy
      })
    })
    //數(shù)據(jù)裝填完畢后,開始注冊(cè)本地靜態(tài)地圖
   echarts.registerMap('',myChinaMap ) //參數(shù)1:地圖名 本項(xiàng)目中不需要
  //注冊(cè)完畢后,創(chuàng)建echart實(shí)例,并獲取dom實(shí)例,并初始化echart圖表   
  // getInstanceByDom(echartDOM容器),
 //  init(echartDOM容器,主題)
 const myChart = echarts.getInstanceByDom(divRef.current) ?? echarts.init(divRef.current, ECHARTS_THEME)
 

const option = {
/****
篇幅太長(zhǎng),第三步將著重講解options配置
***/  
}
myChart.setOption(option)
//監(jiān)聽resize方法,一但縮放即重新設(shè)置echart寬高, 這里推薦使用lodash的節(jié)流函數(shù)包裹以節(jié)省性能
window.onresize = () => {
      myChart.resize()
    }
},[resourceList])    
//監(jiān)聽resourceList,如果有變化,隨時(shí)setOption
return  <div ref={divRef} style={{ height: "440px" }} />
}

三:options各個(gè)配置項(xiàng)

const option = {
    backgroundColor: "#fff", //背景色
    //tooltip :配置鼠標(biāo)經(jīng)過圖表區(qū)域時(shí)顯示的小彈窗的文字   //item:myCustomizeResourceList的內(nèi)部子項(xiàng)
      tooltip: {
        //提示框里的文字,參數(shù)item是data里的每一項(xiàng)
        formatter: function (item) {
          return `${item.name}:${item?.data?.value} `
        }
      },
// 工具集 
      toolbox:{
        feature:{
          saveAsImage:{
            
          }
        }
      },
// 縮放配置
      geo:{
         roam: true, //是否允許鼠標(biāo)縮放 
        zoom: 1.2,
      }
左下程度表
      // 視覺映射 : 連續(xù)型
      visualMap: {
        // type: 'continuous',
        calculable: false, // 是否顯示手柄
        // align: 'bottom',
        min: 0,
        max: 10,
        left: '15%',
        top: '50%',
        showLabel: true,
        // text: ['High', 'Low'], //顯示兩邊文字
        pieces: [
          //各個(gè)程度的顏色
          { min: 0, max: 9, color: "#e7f3ff" },
          { min: 10, max: 19, color: "#ddefff" },
          { min: 20, max: 49, color: "#aed8ff" },
          { min: 50, max: 99, color: "#97cdff" },
          { min: 100, max: 199, color: "#69b7ff" },
          { min: 100, max: 199, color: "#69b7ff" },
          { min: 200, max: 500, color: "#3aa0ff" },
          { min: 500, color: "#1890ff" },
        ]
      },
// 將基于組件prop的數(shù)據(jù)裝配到這里作為展示數(shù)據(jù)
      series: [
        {
          name: '錄取人數(shù)',
          type: 'map',
          geoIndex: 0,  //防止出現(xiàn)地圖重疊,賦值為0標(biāo)識(shí)只允許出現(xiàn)一張地圖
          data:myCustomizeResourceList,
        },
      ],
}

注釋有點(diǎn)多,但是可能更有幫助

到此這篇關(guān)于react使用echart繪制地圖的文章就介紹到這了,更多相關(guān)react使用echart繪制地圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺析history 和 react-router 的實(shí)現(xiàn)原理

    淺析history 和 react-router 的實(shí)現(xiàn)原理

    react-router 版本更新非???但是它的底層實(shí)現(xiàn)原理確是萬(wàn)變不離其中,在本文中會(huì)從前端路由出發(fā)到 react-router 原理總結(jié)與分享,本文對(duì)history 和 react-router實(shí)現(xiàn)原理講解的非常詳細(xì),需要的朋友跟隨小編一起看看吧
    2023-08-08
  • 詳解使用WebPack搭建React開發(fā)環(huán)境

    詳解使用WebPack搭建React開發(fā)環(huán)境

    這篇文章主要介紹了詳解使用WebPack搭建React開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • webpack打包react項(xiàng)目的實(shí)現(xiàn)方法

    webpack打包react項(xiàng)目的實(shí)現(xiàn)方法

    這篇文章主要介紹了webpack打包react項(xiàng)目的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-06-06
  • ReactJs設(shè)置css樣式的方法

    ReactJs設(shè)置css樣式的方法

    本篇文章主要介紹了ReactJs設(shè)置css樣式的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-06-06
  • 如何使用Redux Toolkit簡(jiǎn)化Redux

    如何使用Redux Toolkit簡(jiǎn)化Redux

    redux-toolkit是目前redux官方推薦的編寫redux邏輯的方法,針對(duì)redux的創(chuàng)建store繁瑣、樣板代碼太多、依賴外部庫(kù)等問題進(jìn)行了優(yōu)化,官方總結(jié)了四個(gè)特點(diǎn)是簡(jiǎn)易的/有想法的/強(qiáng)勁的/高效的,總結(jié)來(lái)看,就是更加的方便簡(jiǎn)單了
    2022-12-12
  • 關(guān)于react 父子組件的執(zhí)行順序

    關(guān)于react 父子組件的執(zhí)行順序

    這篇文章主要介紹了關(guān)于react 父子組件的執(zhí)行順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • React useMemo與useCallabck有什么區(qū)別

    React useMemo與useCallabck有什么區(qū)別

    useCallback和useMemo是一樣的東西,只是入?yún)⒂兴煌瑄seCallback緩存的是回調(diào)函數(shù),如果依賴項(xiàng)沒有更新,就會(huì)使用緩存的回調(diào)函數(shù);useMemo緩存的是回調(diào)函數(shù)的return,如果依賴項(xiàng)沒有更新,就會(huì)使用緩存的return
    2022-12-12
  • React實(shí)現(xiàn)動(dòng)態(tài)輪播圖的使用示例

    React實(shí)現(xiàn)動(dòng)態(tài)輪播圖的使用示例

    輪播組件是常見的一種方式,用來(lái)展示圖像、信息或者是廣告,本文就來(lái)介紹一下React實(shí)現(xiàn)動(dòng)態(tài)輪播圖的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • React和Vue的props驗(yàn)證示例詳解

    React和Vue的props驗(yàn)證示例詳解

    這篇文章主要介紹了React和Vue的props驗(yàn)證,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • react實(shí)現(xiàn)Radio組件的示例代碼

    react實(shí)現(xiàn)Radio組件的示例代碼

    這篇文章主要介紹了react實(shí)現(xiàn)Radio組件的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論