Echarts和vue画个中国地图

Posted wuziqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Echarts和vue画个中国地图相关的知识,希望对你有一定的参考价值。

<template>
  <div class="map">
    <p>各经销商所在地获客量</p>
    <div class="hr"></div>
    <div class="chinaIcon">
      <div ref="myChartChina" style="height: 100%; width: 100%"></div>
    </div>
    <!-- <img src="../../assets/img/expect.png" > -->
  </div>
</template>

<script lang=‘ts‘>
import { Component, Vue, Watch } from vue-property-decorator;
import echarts/map/js/china.js;
@Component({
  components: {}
})
export default class GetMap extends Vue {
  private chinaEchart: any = null;
  public $echarts: any;

  private mounted() {
    // console.log(this.geoCoordMap);
    setTimeout(() => {
      this.winGuestMapInit();
    }, 0);
  }

  public winGuestMapInit() {
    this.chinaEchart = this.$echarts.init(this.$refs.myChartChina);
    this.chinaMap();
  }

  public geoCoordMap: any = {
    北京: [116.395645, 39.929986],
    天津: [117.210813, 39.14393],
    上海: [121.487899, 31.249162],
    重庆: [106.530635, 29.544606],
    香港: [114.186124, 22.293586],
    澳门: [113.557519, 22.204118],
    台湾: [120.961454, 23.80406],
    // 湖北省
    武汉: [114.3162, 30.581084],
    黄石: [115.050683, 30.216127],
    十堰: [110.801229, 32.636994],
    襄阳: [112.176326, 32.094934],
    宜昌: [111.310981, 30.732758],
    荆州: [112.241866, 30.332591],
    荆门: [112.21733, 31.042611],
    鄂州: [114.895594, 30.384439],
    孝感: [113.935734, 30.927955],
    黄冈: [114.906618, 30.446109],
    咸宁: [114.300061, 29.880657],
    随州: [113.379358, 31.717858],
    恩施: [109.517433, 30.308978],
    仙桃: [113.443107, 30.327249],
    天门: [113.16802, 30.663312],
    潜江: [112.900485, 30.40138],
    神农架: [110.487231, 31.595768],
    //新疆维吾尔自治区
    克拉玛依: [84.88118, 45.594331],
    乌鲁木齐: [87.564988, 43.84038],
    巴音郭楞: [86.121688, 41.771362],
    伊犁: [81.297854, 43.922248],
    吐鲁番: [89.181595, 42.96047],
    阿勒泰: [88.137915, 47.839744],
    哈密: [93.528355, 42.858596],
    博尔塔拉: [82.052436, 44.913651],
    阿克苏: [80.269846, 41.171731],
    克孜勒苏: [76.137564, 39.750346],
    昌吉: [87.296038, 44.007058],
    喀什: [75.992973, 39.470627],
    和田: [79.930239, 37.116774],
    塔城: [82.974881, 46.758684],
    新疆: [85.564988, 40.84038],
    //广西壮族自治区
    崇左: [107.357322, 22.415455],
    柳州: [109.422402, 24.329053],
    百色: [106.631821, 23.901512],
    南宁: [108.297234, 22.806493],
    梧州: [111.305472, 23.485395],
    北海: [109.122628, 21.472718],
    桂林: [110.26092, 25.262901],
    河池: [108.069948, 24.699521],
    贵港: [109.613708, 23.103373],
    钦州: [108.638798, 21.97335],
    来宾: [109.231817, 23.741166],
    防城港: [108.351791, 21.617398],
    贺州: [111.552594, 24.411054],
    玉林: [110.151676, 22.643974],
    // 西藏自治区
    山南: [91.750644, 29.229027],
    那曲: [92.067018, 31.48068],
    阿里: [81.107669, 30.404557],
    拉萨: [91.111891, 29.662557],
    昌都: [97.185582, 31.140576],
    林芝: [94.349985, 29.666941],
    日喀则: [88.891486, 29.269023],
    //宁夏回族自治区
    银川: [106.206479, 38.502621],
    吴忠: [106.208254, 37.993561],
    中卫: [105.196754, 37.521124],
    石嘴山: [106.379337, 39.020223],
    固原: [106.285268, 36.021523],
    // 内蒙古自治区
    乌海: [106.831999, 39.683177],
    鄂尔多斯市: [109.993706, 39.81649],
    兴安盟: [122.048167, 46.083757],
    锡林郭勒盟: [116.02734, 43.939705],
    巴彦淖尔: [107.423807, 40.76918],
    赤峰: [118.930761, 42.297112],
    乌兰察布: [113.112846, 41.022363],
    呼伦贝尔: [119.760822, 49.201636],
    通辽: [122.260363, 43.633756],
    阿拉善盟: [105.695683, 38.843075],
    包头: [109.846239, 40.647119],
    呼和浩特: [111.660351, 40.828319],
    //四川省
    遂宁: [105.564888, 30.557491],
    雅安: [103.009356, 29.999716],
    巴中: [106.757916, 31.869189],
    攀枝花: [101.722423, 26.587571],
    自贡: [104.776071, 29.359157],
    凉山: [102.259591, 27.892393],
    广元: [105.819687, 32.44104],
    广安: [106.63572, 30.463984],
    宜宾: [104.633019, 28.769675],
    达州: [107.494973, 31.214199],
    南充: [106.105554, 30.800965],
    成都: [104.067923, 30.679943],
    内江: [105.073056, 29.599462],
    资阳: [104.633019, 28.769675],
    阿坝: [102.228565, 31.905763],
    甘孜: [101.969232, 30.055144],
    绵阳: [104.705519, 31.504701],
    乐山: [103.760824, 29.600958],
    泸州: [105.44397, 28.89593],
    德阳: [104.402398, 31.13114],
    眉山: [103.84143, 30.061115],
    //陕西省
    安康: [109.038045, 32.70437],
    咸阳: [108.707509, 34.345373],
    渭南: [109.483933, 34.502358],
    汉中: [107.045478, 33.081569],
    延安: [109.50051, 36.60332],
    榆林: [109.745926, 38.279439],
    西安: [108.953098, 34.2778],
    铜川: [108.968067, 34.908368],
    宝鸡: [107.170645, 34.364081],
    商洛: [109.934208, 33.873907],
    // 河南省
    焦作: [113.211836, 35.234608],
    南阳: [112.542842, 33.01142],
    三门峡: [111.181262, 34.78332],
    平顶山: [113.300849, 33.745301],
    驻马店: [114.049154, 32.983158],
    新乡: [113.91269, 35.307258],
    许昌: [113.835312, 34.02674],
    洛阳: [112.447525, 34.657368],
    开封: [114.351642, 34.801854],
    安阳: [114.351807, 36.110267],
    周口: [114.654102, 33.623741],
    信阳: [114.085491, 32.128582],
    郑州: [113.649644, 34.75661],
    濮阳: [115.026627, 35.753298],
    商丘: [115.641886, 34.438589],
    漯河: [114.046061, 33.576279],
    鹤壁: [114.29777, 35.755426],
    //浙江省
    丽水: [119.929576, 28.4563],
    衢州: [118.875842, 28.95691],
    台州: [121.440613, 28.668283],
    宁波: [121.579006, 29.885259],
    杭州: [120.219375, 30.259244],
    金华: [119.652576, 29.102899],
    温州: [120.690635, 28.002838],
    绍兴: [120.592467, 30.002365],
    嘉兴: [120.760428, 30.773992],
    湖州: [120.137243, 30.877925],
    舟山: [122.169872, 30.03601],
    // 海南省
    海口: [110.330802, 20.022071],
    三亚: [109.522771, 18.257776],
    海南: [109.9267865, 19.1399235],
    // 山西省
    运城: [111.006854, 35.038859],
    忻州: [112.727939, 38.461031],
    晋城: [112.867333, 35.499834],
    临汾: [111.538788, 36.099745],
    阳泉: [113.569238, 37.869529],
    长治: [113.120292, 36.201664],
    吕梁: [111.143157, 37.527316],
    太原: [112.550864, 37.890277],
    大同: [113.290509, 40.113744],
    朔州: [112.479928, 39.337672],
    晋中: [112.738514, 37.693362],
    // 广东省
    韶关: [113.594461, 24.80296],
    惠州: [114.410658, 23.11354],
    揭阳: [116.379501, 23.547999],
    云浮: [112.050946, 22.937976],
    深圳: [114.025974, 22.546054],
    潮州: [116.630076, 23.661812],
    清远: [113.040773, 23.698469],
    梅州: [116.126403, 24.304571],
    广州: [113.30765, 23.120049],
    东莞: [113.763434, 23.043024],
    江门: [113.078125, 22.575117],
    肇庆: [112.479653, 23.078663],
    茂名: [110.931245, 21.668226],
    阳江: [111.97701, 21.871517],
    汕尾: [115.372924, 22.778731],
    河源: [114.713721, 23.757251],
    中山: [113.42206, 22.545178],
    佛山: [113.134026, 23.035095],
    汕头: [116.72865, 23.383908],
    湛江: [110.365067, 21.257463],
    珠海: [113.562447, 22.256915],
    // 云南省
    怒江: [98.859932, 25.860677],
    迪庆: [99.713682, 27.831029],
    昭通: [103.725021, 27.340633],
    西双版纳: [100.803038, 22.009433],
    玉溪: [102.545068, 24.370447],
    临沧: [100.092613, 23.887806],
    大理: [100.223675, 25.5969],
    丽江: [100.229628, 26.875351],
    楚雄: [101.529382, 25.066356],
    红河: [103.384065, 23.367718],
    文山: [104.089112, 23.401781],
    昆明: [102.714601, 25.049153],
    曲靖: [103.782539, 25.520758],
    保山: [99.177996, 25.120489],
    思茅: [100.980058, 22.788778],
    德宏: [98.589434, 24.44124],
    // 贵州省
    贵阳: [106.709177, 26.629907],
    黔西南: [104.900558, 25.095148],
    铜仁: [109.196161, 27.726271],
    黔东南: [107.985353, 26.583992],
    遵义: [106.93126, 27.699961],
    毕节: [105.300492, 27.302612],
    黔南: [107.523205, 26.264536],
    六盘水: [104.852087, 26.591866],
    安顺: [105.92827, 26.228595],
    // 辽宁省
    鞍山: [123.007763, 41.118744],
    本溪: [123.778062, 41.325838],
    营口: [122.233391, 40.668651],
    大连: [121.593478, 38.94871],
    铁岭: [123.85485, 42.299757],
    朝阳: [120.446163, 41.571828],
    抚顺: [123.92982, 41.877304],
    盘锦: [122.073228, 41.141248],
    丹东: [124.338543, 40.129023],
    葫芦岛: [120.860758, 40.74303],
    锦州: [121.147749, 41.130879],
    沈阳: [123.432791, 41.808645],
    辽阳: [123.172451, 41.273339],
    阜新: [121.660822, 42.01925],
    // 河北省
    廊坊: [116.703602, 39.518611],
    衡水: [115.686229, 37.746929],
    秦皇岛: [119.604368, 39.945462],
    承德: [117.933822, 40.992521],
    沧州: [116.863806, 38.297615],
    张家口: [114.893782, 40.811188],
    石家庄: [114.522082, 38.048958],
    保定: [115.49481, 38.886565],
    唐山: [118.183451, 39.650531],
    邢台: [114.520487, 37.069531],
    邯郸: [114.482694, 36.609308],
    // 青海省
    // 海南: [100.624066, 36.284364],
    海西: [97.342625, 37.373799],
    海东: [102.085207, 36.51761],
    果洛: [100.223723, 34.480485],
    西宁: [101.767921, 36.640739],
    海北: [100.879802, 36.960654],
    黄南: [102.0076, 35.522852],
    玉树: [97.013316, 33.00624],
    // 湖南省
    邵阳: [111.461525, 27.236811],
    张家界: [110.48162, 29.124889],
    益阳: [112.366547, 28.588088],
    怀化: [109.986959, 27.557483],
    湘西: [109.745746, 28.317951],
    郴州: [113.037704, 25.782264],
    衡阳: [112.583819, 26.898164],
    永州: [111.614648, 26.435972],
    株洲: [113.131695, 27.827433],
    岳阳: [113.146196, 29.378007],
    长沙: [112.979353, 28.213478],
    湘潭: [112.935556, 27.835095],
    常德: [111.653718, 29.012149],
    娄底: [111.996396, 27.741073],
    // 江苏省
    镇江: [119.455835, 32.204409],
    常州: [119.981861, 31.771397],
    南通: [120.873801, 32.014665],
    泰州: [119.919606, 32.476053],
    南京: [118.778074, 32.057236],
    苏州: [120.619907, 31.317987],
    盐城: [120.148872, 33.379862],
    宿迁: [118.296893, 33.95205],
    无锡: [120.305456, 31.570037],
    连云港: [119.173872, 34.601549],
    徐州: [117.188107, 34.271553],
    淮安: [119.030186, 33.606513],
    扬州: [119.427778, 32.408505],
    // 山东省
    潍坊: [119.142634, 36.716115],
    日照: [119.50718, 35.420225],
    济宁: [116.600798, 35.402122],
    聊城: [115.986869, 36.455829],
    德州: [116.328161, 37.460826],
    临沂: [118.340768, 35.072409],
    枣庄: [117.279305, 34.807883],
    莱芜: [117.684667, 36.233654],
    烟台: [121.309555, 37.536562],
    淄博: [118.059134, 36.804685],
    滨州: [117.968292, 37.405314],
    泰安: [117.089415, 36.188078],
    荷泽: [115.46336, 35.26244],
    济南: [117.024967, 36.682785],
    威海: [122.093958, 37.528787],
    青岛: [120.384428, 36.105215],
    东营: [118.583926, 37.487121],
    // 安徽省
    宣城: [118.752096, 30.951642],
    阜阳: [115.820932, 32.901211],
    亳州: [115.787928, 33.871211],
    蚌埠: [117.35708, 32.929499],
    黄山: [118.29357, 29.734435],
    六安: [116.505253, 31.755558],
    池州: [117.494477, 30.660019],
    滁州: [118.32457, 32.317351],
    淮南: [117.018639, 32.642812],
    铜陵: [117.819429, 30.94093],
    合肥: [117.282699, 31.866942],
    芜湖: [118.384108, 31.36602],
    马鞍山: [118.515882, 31.688528],
    安庆: [117.058739, 30.537898],
    淮北: [116.791447, 33.960023],
    宿州: [116.988692, 33.636772],
    巢湖: [117.88049, 31.608733],
    //黑龙江省
    双鸭山: [131.171402, 46.655102],
    绥化: [126.989095, 46.646064],
    大兴安岭: [124.196104, 51.991789],
    佳木斯: [130.284735, 46.81378],
    黑河: [127.50083, 50.25069],
    哈尔滨: [126.657717, 45.773225],
    大庆: [125.02184, 46.596709],
    七台河: [131.019048, 45.775005],
    伊春: [128.910766, 47.734685],
    牡丹江: [129.608035, 44.588521],
    鸡西: [130.941767, 45.32154 | 13],
    齐齐哈尔: [123.987289, 47.3477],
    鹤岗: [130.292472, 47.338666],
    // 福建省
    三明: [117.642194, 26.270835],
    厦门: [118.103886, 24.489231],
    龙岩: [117.017997, 25.078685],
    莆田: [119.077731, 25.44845],
    南平: [118.181883, 26.643626],
    宁德: [119.542082, 26.656527],
    泉州: [118.600362, 24.901652],
    漳州: [117.676205, 24.517065],
    福州: [119.330221, 26.047125],
    // 甘肃省
    定西: [104.626638, 35.586056],
    嘉峪关: [98.281635, 39.802397],
    庆阳: [107.644227, 35.726801],
    酒泉: [98.508415, 39.741474],
    临夏: [103.215249, 35.598514],
    金昌: [102.208126, 38.516072],
    张掖: [100.459892, 38.93932],
    白银: [104.171241, 36.546682],
    陇南: [104.934573, 33.39448],
    天水: [105.736932, 34.584319],
    兰州: [103.823305, 36.064226],
    武威: [102.640147, 37.933172],
    平凉: [106.688911, 35.55011],
    甘南: [102.917442, 34.992211],
    // 吉林省
    长春: [125.313642, 43.898338],
    通化: [125.94265, 41.736397],
    吉林: [126.564544, 43.871988],
    白山: [126.435798, 41.945859],
    松原: [124.832995, 45.136049],
    延边: [129.485902, 42.896414],
    辽源: [125.133686, 42.923303],
    白城: [122.840777, 45.621086],
    四平: [124.391382, 43.175525],
    // 江西省
    抚州: [116.360919, 27.954545],
    九江: [115.999848, 29.71964],
    宜春: [114.400039, 27.81113],
    上饶: [117.955464, 28.457623],
    赣州: [114.935909, 25.845296],
    南昌: [115.893528, 28.689578],
    吉安: [114.992039, 27.113848],
    景德镇: [117.186523, 29.303563],
    萍乡: [113.859917, 27.639544],
    新余: [114.947117, 27.822322],
    鹰潭: [117.03545, 28.24131]
  };

  public data: any = [
    {
      name: 北京,
      value: 900
    },
    {
      name: 天津,
      value: 90
    },
    {
      name: 合肥,
      value: 100
    },
    {
      name: 上海,
      value: 990
    },
    {
      name: 武汉,
      value: 329
    }
  ];

  public convertData(data: any) {
    let res: any = [];
    for (let i = 0; i < data.length; i++) {
      // console.log(data[i].name);
      this.$nextTick(() => {
        let geoCoord = this.geoCoordMap[data[i].name];
        // console.log(geoCoord);
        if (geoCoord) {
          res.push({
            name: data[i].name,
            value: geoCoord.concat(data[i].value)
          });
        }
      });
    }
    // console.log(res);
    return res;
  }

  convertedData: any = [
    this.convertData(this.data),
    this.convertData(
      this.data
        .sort(function(a: any, b: any) {
          return b.value - a.value;
        })
        .slice(0, 6)
    )
  ];

  public chinaMap() {
    this.chinaEchart.clear();
    let option: any = {
      baseOption: {
        xAxis: {
          show: false
        },
        yAxis: {
          show: false
        },
        visualMap: {
          show: true,
          type: continuous,
          max: 300,
          min: 0,
          top: center,
          right: 5%,
          align: left,
          calculable: true,
          itemWidth: 40,
          itemHeight: 304,
          inRange: {
            color: [#00ECFF, #FCCE00, #E63504],
          },
          textStyle: {
            color: #FFF,
            fontSize: 28
          }
        },
        geo: {
          map: china,
          itemStyle: {
            areaColor: #12B5C0,
            borderColor: #000
          },
          emphasis: {
            itemStyle: {
              areaColor: green,
            },
            label: {
              show: true,
              fontSize: 28,
              color: #FFF
            }
          }
        },
        series: [
          {
            name: 热图,
            type: heatmap,
            coordinateSystem: geo,
            data: this.convertedData[0]
          },
          {
            name: 散点,
            type: scatter,
            coordinateSystem: geo,
            data: this.convertedData[0],
            symbolSize: function(val: any) {
              return 20 + Math.log2(val[2]);
            },
            label: {
              show: true,
              normal: {
                formatter: {b},
                position: right,
                show: true,
                textStyle: {
                  fontSize: 28
                }
              },
              emphasis: {
                show: true,
                textStyle: {
                  fontSize: 28,
                  color: #FFF
                }
              }
            },
            itemStyle: {
              normal: {
                color: #ddb926
              }
            },
            tooltip: {
              trigger: item,
              formatter: function(params: any) {
                return params.name +  :  + params.value[2];
              }
            }
          }
        ]
      }
      // options: []
    };
    this.chinaEchart.setOption(option);
  }
}
</script>

<style lang="scss">
.map {
  width: 100%;
  height: 100%;
  position: relative;
  top: 0;
  p {
    height: 50px;
    font-size: 36px;
    line-height: 50px;
    position: absolute;
    top: 30px;
    left: 40px;
  }
  .hr {
    position: absolute;
    top: 100px;
    width: 100%;
    height: 2px;
    background: #002f3b;
  }
  .chinaIcon {
    width: 100%;
    height: 660px;
    position: absolute;
    // left: 172px;
    bottom: 0;
    // border: 1px solid #fff;
  }
  // img{
  //   width: 100%;
  //   height: 100%;
  //   position: absolute;
  //   display: block;
  //   top: 0;left: 0;bottom: 0;right: 0;
  //   margin: auto;
  // }
}
</style>

 技术图片

效果如图所示;

下面是我参考的别人的配置:

visualMap=[                                     //视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素。视觉元素可以是:symbol: 图元的图形类别。symbolSize: 图元的大小。color: 图元的颜色。
                                                 // colorAlpha: 图元的颜色的透明度。opacity: 图元以及其附属物(如文字标签)的透明度。colorLightness: 颜色的明暗度。colorSaturation: 颜色的饱和度。colorHue: 颜色的色调。
    {
        show:true,                              //是否显示 visualMap-continuous 组件。如果设置为 false,不会显示,但是数据映射的功能还存在
        type: ‘continuous‘,                     // 定义为连续型 viusalMap
        min:10,                                  //指定 visualMapContinuous 组件的允许的最小值
        max:100,                                 //指定 visualMapContinuous 组件的允许的最大值
        range:[15, 40],                          //指定手柄对应数值的位置。range 应在 min max 范围内
        calculable:true,                        //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)
        realtime:true,                          //拖拽时,是否实时更新
        inverse:false,                          //是否反转 visualMap 组件
        precision:0,                            //数据展示的小数精度,默认为0,无小数点
        itemWidth:20,                           //图形的宽度,即长条的宽度。
        itemHeight:140,                         //图形的高度,即长条的高度。
        align:"auto",                           //指定组件中手柄和文字的摆放位置.可选值为:‘auto‘ 自动决定。‘left‘ 手柄和label在右。‘right‘ 手柄和label在左。‘top‘ 手柄和label在下。‘bottom‘ 手柄和label在上。
        text:[‘High‘, ‘Low‘],                   //两端的文本
        textGap:10,                              //两端文字主体之间的距离,单位为px
        dimension:2,                            //指定用数据的『哪个维度』,映射到视觉元素上。『数据』即 series.data。 可以把 series.data 理解成一个二维数组,其中每个列是一个维度,默认取 data 中最后一个维度
        seriesIndex:1,                          //指定取哪个系列的数据,即哪个系列的 series.data,默认取所有系列
        hoverLink:true,                         //鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮
        inRange:{                               //定义 在选中范围中 的视觉元素
            color: [‘#121122‘, ‘rgba(3,4,5,0.4)‘, ‘red‘],
            symbolSize: [30, 100]
        },
        outOfRange:{  //定义 在选中范围外 的视觉元素。
            color: [‘#121122‘, ‘rgba(3,4,5,0.4)‘, ‘red‘],
            symbolSize: [30, 100]
        },
        zlevel:0,                                   //所属图形的Canvas分层,zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面
        z:2,                                         //所属组件的z分层,z值小的图形会被z值大的图形覆盖
        left:"center",                              //组件离容器左侧的距离,‘left‘, ‘center‘, ‘right‘,‘20%‘
        top:"top",                                   //组件离容器上侧的距离,‘top‘, ‘middle‘, ‘bottom‘,‘20%‘
        right:"auto",                               //组件离容器右侧的距离,‘20%‘
        bottom:"auto",                              //组件离容器下侧的距离,‘20%‘
        orient:"vertical",                         //图例排列方向
        padding:5,                                   //图例内边距,单位px  5  [5, 10]  [5,10,5,10]
        backgroundColor:"transparent",            //标题背景色
        borderColor:"#ccc",                         //边框颜色
        borderWidth:0,                               //边框线宽
        textStyle:mytextStyle,                      //文本样式
        formatter: function (value) {                 //标签的格式化工具。
            return ‘aaaa‘ + value;                    // 范围标签显示内容。
        }
    },
    {
        show:true,                          //是否显示 visualMap-continuous 组件。如果设置为 false,不会显示,但是数据映射的功能还存在
        type: ‘piecewise‘,                  // 定义为分段型 visualMap
        splitNumber:5,                      //对于连续型数据,自动平均切分成几段。默认为5段
        pieces: [                           //自定义『分段式视觉映射组件(visualMapPiecewise)』的每一段的范围,以及每一段的文字,以及每一段的特别的样式
            {min: 1500},                     // 不指定 max,表示 max 为无限大(Infinity)。
            {min: 900, max: 1500},
            {min: 310, max: 1000},
            {min: 200, max: 300},
            {min: 10, max: 200, label: ‘10 到 200(自定义label)‘},
            {value: 123, label: ‘123(自定义特殊颜色)‘, color: ‘grey‘}, // 表示 value 等于 123 的情况。
            {max: 5}                        // 不指定 min,表示 min 为无限大(-Infinity)。
        ],
        categories:[‘严重污染‘, ‘重度污染‘, ‘中度污染‘, ‘轻度污染‘, ‘良‘, ‘优‘],  //用于表示离散型数据(或可以称为类别型数据、枚举型数据)的全集
        min:10,                             //指定 visualMapContinuous 组件的允许的最小值
        max:100,                             //指定 visualMapContinuous 组件的允许的最大值
        minOpen:true,                       //界面上会额外多出一个『< min』的选块
        maxOpen:true,                       //界面上会额外多出一个『> max』的选块。
        selectedMode:"multiple",           //选择模式,可以是:‘multiple‘(多选)。‘single‘(单选)。
        inverse:false,                      //是否反转 visualMap 组件
        precision:0,                        //数据展示的小数精度,默认为0,无小数点
        itemWidth:20,                       //图形的宽度,即长条的宽度。
        itemHeight:140,                     //图形的高度,即长条的高度。
        align:"auto",                       //指定组件中手柄和文字的摆放位置.可选值为:‘auto‘ 自动决定。‘left‘ 手柄和label在右。‘right‘ 手柄和label在左。‘top‘ 手柄和label在下。‘bottom‘ 手柄和label在上。
        text:[‘High‘, ‘Low‘],               //两端的文本
        textGap:10,                          //两端文字主体之间的距离,单位为px
        showLabel:true,                     //是否显示每项的文本标签
        itemGap:10,                          //每两个图元之间的间隔距离,单位为px
        itemSymbol:"roundRect",             //默认的图形。可选值为: ‘circle‘, ‘rect‘, ‘roundRect‘, ‘triangle‘, ‘diamond‘, ‘pin‘, ‘arrow‘
        dimension:2,                          //指定用数据的『哪个维度』,映射到视觉元素上。『数据』即 series.data。 可以把 series.data 理解成一个二维数组,其中每个列是一个维度,默认取 data 中最后一个维度
        seriesIndex:1,                        //指定取哪个系列的数据,即哪个系列的 series.data,默认取所有系列
        hoverLink:true,                      //鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮
        inRange:{                             //定义 在选中范围中 的视觉元素
            color: [‘#121122‘, ‘rgba(3,4,5,0.4)‘, ‘red‘],
            symbolSize: [30, 100]
        },
        outOfRange:{                            //定义 在选中范围外 的视觉元素。
            color: [‘#121122‘, ‘rgba(3,4,5,0.4)‘, ‘red‘],
            symbolSize: [30, 100]
        },
        zlevel:0,                                   //所属图形的Canvas分层,zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面
        z:2,                                         //所属组件的z分层,z值小的图形会被z值大的图形覆盖
        left:"center",                              //组件离容器左侧的距离,‘left‘, ‘center‘, ‘right‘,‘20%‘
        top:"top",                                   //组件离容器上侧的距离,‘top‘, ‘middle‘, ‘bottom‘,‘20%‘
        right:"auto",                               //组件离容器右侧的距离,‘20%‘
        bottom:"auto",                              //组件离容器下侧的距离,‘20%‘
        orient:"vertical",                        //图例排列方向
        padding:5,                                   //图例内边距,单位px  5  [5, 10]  [5,10,5,10]
        backgroundColor:"transparent",            //标题背景色
        borderColor:"#ccc",                         //边框颜色
        borderWidth:0,                               //边框线宽
        textStyle:mytextStyle,                      //文本样式
        formatter: function (value) {                //标签的格式化工具。
            return ‘aaaa‘ + value;                   // 范围标签显示内容。
        }
    }
];

 

具体查看echarts官网:

https://echarts.apache.org/zh/option.html#visualMap

 

 

 

visualMap=[                                     //视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素。视觉元素可以是:symbol: 图元的图形类别。symbolSize: 图元的大小。color: 图元的颜色。                                                 // colorAlpha: 图元的颜色的透明度。opacity: 图元以及其附属物(如文字标签)的透明度。colorLightness: 颜色的明暗度。colorSaturation: 颜色的饱和度。colorHue: 颜色的色调。    {        show:true,                              //是否显示 visualMap-continuous 组件。如果设置为 false,不会显示,但是数据映射的功能还存在        type: ‘continuous‘,                     // 定义为连续型 viusalMap        min:10,                                  //指定 visualMapContinuous 组件的允许的最小值        max:100,                                 //指定 visualMapContinuous 组件的允许的最大值        range:[15, 40],                          //指定手柄对应数值的位置。range 应在 min max 范围内        calculable:true,                        //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)        realtime:true,                          //拖拽时,是否实时更新        inverse:false,                          //是否反转 visualMap 组件        precision:0,                            //数据展示的小数精度,默认为0,无小数点        itemWidth:20,                           //图形的宽度,即长条的宽度。        itemHeight:140,                         //图形的高度,即长条的高度。        align:"auto",                           //指定组件中手柄和文字的摆放位置.可选值为:‘auto‘ 自动决定。‘left‘ 手柄和label在右。‘right‘ 手柄和label在左。‘top‘ 手柄和label在下。‘bottom‘ 手柄和label在上。        text:[‘High‘, ‘Low‘],                   //两端的文本        textGap:10,                              //两端文字主体之间的距离,单位为px        dimension:2,                            //指定用数据的『哪个维度』,映射到视觉元素上。『数据』即 series.data。 可以把 series.data 理解成一个二维数组,其中每个列是一个维度,默认取 data 中最后一个维度        seriesIndex:1,                          //指定取哪个系列的数据,即哪个系列的 series.data,默认取所有系列        hoverLink:true,                         //鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮        inRange:{                               //定义 在选中范围中 的视觉元素            color: [‘#121122‘, ‘rgba(3,4,5,0.4)‘, ‘red‘],            symbolSize: [30, 100]        },        outOfRange:{  //定义 在选中范围外 的视觉元素。            color: [‘#121122‘, ‘rgba(3,4,5,0.4)‘, ‘red‘],            symbolSize: [30, 100]        },        zlevel:0,                                   //所属图形的Canvas分层,zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面        z:2,                                         //所属组件的z分层,z值小的图形会被z值大的图形覆盖        left:"center",                              //组件离容器左侧的距离,‘left‘, ‘center‘, ‘right‘,‘20%‘        top:"top",                                   //组件离容器上侧的距离,‘top‘, ‘middle‘, ‘bottom‘,‘20%‘        right:"auto",                               //组件离容器右侧的距离,‘20%‘        bottom:"auto",                              //组件离容器下侧的距离,‘20%‘        orient:"vertical",                         //图例排列方向        padding:5,                                   //图例内边距,单位px  5  [5, 10]  [5,10,5,10]        backgroundColor:"transparent",            //标题背景色        borderColor:"#ccc",                         //边框颜色        borderWidth:0,                               //边框线宽        textStyle:mytextStyle,                      //文本样式        formatter: function (value) {                 //标签的格式化工具。            return ‘aaaa‘ + value;                    // 范围标签显示内容。        }    },    {        show:true,                          //是否显示 visualMap-continuous 组件。如果设置为 false,不会显示,但是数据映射的功能还存在        type: ‘piecewise‘,                  // 定义为分段型 visualMap        splitNumber:5,                      //对于连续型数据,自动平均切分成几段。默认为5段        pieces: [                           //自定义『分段式视觉映射组件(visualMapPiecewise)』的每一段的范围,以及每一段的文字,以及每一段的特别的样式            {min: 1500},                     // 不指定 max,表示 max 为无限大(Infinity)。            {min: 900, max: 1500},            {min: 310, max: 1000},            {min: 200, max: 300},            {min: 10, max: 200, label: ‘10 到 200(自定义label)‘},            {value: 123, label: ‘123(自定义特殊颜色)‘, color: ‘grey‘}, // 表示 value 等于 123 的情况。            {max: 5}                        // 不指定 min,表示 min 为无限大(-Infinity)。        ],        categories:[‘严重污染‘, ‘重度污染‘, ‘中度污染‘, ‘轻度污染‘, ‘良‘, ‘优‘],  //用于表示离散型数据(或可以称为类别型数据、枚举型数据)的全集        min:10,                             //指定 visualMapContinuous 组件的允许的最小值        max:100,                             //指定 visualMapContinuous 组件的允许的最大值        minOpen:true,                       //界面上会额外多出一个『< min』的选块        maxOpen:true,                       //界面上会额外多出一个『> max』的选块。        selectedMode:"multiple",           //选择模式,可以是:‘multiple‘(多选)。‘single‘(单选)。        inverse:false,                      //是否反转 visualMap 组件        precision:0,                        //数据展示的小数精度,默认为0,无小数点        itemWidth:20,                       //图形的宽度,即长条的宽度。        itemHeight:140,                     //图形的高度,即长条的高度。        align:"auto",                       //指定组件中手柄和文字的摆放位置.可选值为:‘auto‘ 自动决定。‘left‘ 手柄和label在右。‘right‘ 手柄和label在左。‘top‘ 手柄和label在下。‘bottom‘ 手柄和label在上。        text:[‘High‘, ‘Low‘],               //两端的文本        textGap:10,                          //两端文字主体之间的距离,单位为px        showLabel:true,                     //是否显示每项的文本标签        itemGap:10,                          //每两个图元之间的间隔距离,单位为px        itemSymbol:"roundRect",             //默认的图形。可选值为: ‘circle‘, ‘rect‘, ‘roundRect‘, ‘triangle‘, ‘diamond‘, ‘pin‘, ‘arrow‘        dimension:2,                          //指定用数据的『哪个维度』,映射到视觉元素上。『数据』即 series.data。 可以把 series.data 理解成一个二维数组,其中每个列是一个维度,默认取 data 中最后一个维度        seriesIndex:1,                        //指定取哪个系列的数据,即哪个系列的 series.data,默认取所有系列        hoverLink:true,                      //鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮        inRange:{                             //定义 在选中范围中 的视觉元素            color: [‘#121122‘, ‘rgba(3,4,5,0.4)‘, ‘red‘],            symbolSize: [30, 100]        },        outOfRange:{                            //定义 在选中范围外 的视觉元素。            color: [‘#121122‘, ‘rgba(3,4,5,0.4)‘, ‘red‘],            symbolSize: [30, 100]        },        zlevel:0,                                   //所属图形的Canvas分层,zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面        z:2,                                         //所属组件的z分层,z值小的图形会被z值大的图形覆盖        left:"center",                              //组件离容器左侧的距离,‘left‘, ‘center‘, ‘right‘,‘20%‘        top:"top",                                   //组件离容器上侧的距离,‘top‘, ‘middle‘, ‘bottom‘,‘20%‘        right:"auto",                               //组件离容器右侧的距离,‘20%‘        bottom:"auto",                              //组件离容器下侧的距离,‘20%‘        orient:"vertical",                        //图例排列方向        padding:5,                                   //图例内边距,单位px  5  [5, 10]  [5,10,5,10]        backgroundColor:"transparent",            //标题背景色        borderColor:"#ccc",                         //边框颜色        borderWidth:0,                               //边框线宽        textStyle:mytextStyle,                      //文本样式        formatter: function (value) {                //标签的格式化工具。            return ‘aaaa‘ + value;                   // 范围标签显示内容。        }    }];

以上是关于Echarts和vue画个中国地图的主要内容,如果未能解决你的问题,请参考以下文章

vue+vuex+axios+echarts画一个动态更新的中国地图

vue+vuex+axios+echarts画一个动态更新的中国地图

教你从零开始画echarts地图

echarts画中国地图,省市区地图分享

echarts画中国地图并上色

怎样在用matlab在地图上(纬度:0:40N,经度60:150E)画出某一气象要素的等值线?