• echarts+DateV.GeoAtlas 绘制地图


    DateV.GeoAtlas 使用教程地址:DataV.GeoAtlas地理小工具系列

    echarts参考地址:Documentation - Apache ECharts

    原理:

    echarts做为图形绘制工具 配置参数进行绘制 

    DateV.GeoAtlas提供json数据来源,提供无数个密密麻麻点点然后 绘制成 地图形状

    示例:

    从 DateV.GeoAtlas  上面的地址中下载json数据   命名:china.json

    页面 index.jsx. (需要 给外层设置宽高)

    import React, {useEffect} from 'react';
    import * as echarts from 'echarts/core';
    import { TitleComponent, TooltipComponent, GeoComponent, GridComponent, LegendComponent } from 'echarts/components';
    import { ScatterChart } from 'echarts/charts';
    import { CanvasRenderer } from 'echarts/renderers';
    import { EffectScatterChart } from 'echarts/charts';
    import { LinesChart } from 'echarts/charts';
    import chinaMapJson from './china.json';
    
    
    echarts.use([
        TitleComponent,
        TooltipComponent,
        GeoComponent,
        GridComponent,
        LegendComponent,
        ScatterChart,
        CanvasRenderer,
        EffectScatterChart,
        LinesChart,
    ]);
    const EchartsMap = () => {
    
        useEffect(() => {
    
            const echartsConDom = document.getElementById('echarts-map');
            const myChart = echarts.init(echartsConDom); // 初始化
            echarts.registerMap('chinaMap', chinaMapJson);
    
            const series = [];
    
            const option = {
                backgroundColor: '#fff',
    
                geo: {
                    map: 'chinaMap', // 地图选择
                    // silent: true, // 禁止图形响应鼠标事件
                    itemStyle: {
                        color: '#FFE8E7', // 背景颜色
                        borderColor: '#F7A6A3', // 边框颜色
                    },
                    label: {
                        show: false,
                    },
                    layoutCenter: ['50%', '65%'],
                    layoutSize: 600,
                    // zoom: 1.5, // 当前视角的缩放比例
                    roam: true, // 是否开启鼠标缩放和平移漫游
                    scaleLimit: {min: 1.2, max: 2}, // 滚轮缩放的极限控制
                    // 高亮状态下的多边形和标签样式
                    emphasis: {
                        label: {
                            show: true,
                        },
                        itemStyle: {
                            color: '#F7A6A3',
                        },
                    },
                },
                tooltip: {
                    formatter: function (params) {
                        return `${params.name}`;
                    },
                },
                series: series,
                // 图例
                legend: {
                    show: false, // 不展示默认样式,使用事件切换图例展示
                    selectedMode: 'single', // 设置单选多选模式
                },
            };
            myChart.setOption(option);
    
        }, [])
    
        return 
    { width: '100%', height: '600px' }}>
    }; export default EchartsMap;

    具体的echarts配置可 根据echarts的配置项进行修改Documentation - Apache ECharts 参考

    效果:

    注意事项:registerMap的 名字为 “china”的话。会自动显示南海缩略图 如果不需要则可以换一个名字,我这里用的另外的名字(chinaMap)就没有缩略图

     南海缩略图:

    注: 也可以使用svg方式来实现。原理类似。只是数据 在svg里面了  详情看官方文档

  • 相关阅读:
    超详细的ROC曲线绘制教程
    【二分查找】算法
    云平台功能:应用回收站的诞生与使用说明
    M10C车载SD卡录像机产品外观结构图
    用最少的代码模拟gRPC四种消息交换模式
    年薪90万男子嫌无聊起诉公司?用任务软件飞项充实工作吧!
    nn.AdaptiveAvgPool2d(output_size)详解
    7.2 通过API创建新进程
    C#应用的欢迎界面窗体方案 - 开源研究系列文章
    QGIS 捕捉
  • 原文地址:https://blog.csdn.net/wangshang1320/article/details/127106971