ECharts地图图表是一种非常强大的数据可视化工具,它可以帮助我们以直观、生动的方式展示地理位置数据。在本文中,我们将通过50个实用案例,带你轻松上手ECharts地图图表,探索数据之美。

1. 地图基础案例

案例描述: 使用ECharts地图图表展示中国地图的省份分布。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '中国地图省份分布'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                // ... 其他省份数据
            ]
        }
    ]
};

myChart.setOption(option);

2. 热力图案例

案例描述: 使用ECharts地图图表展示城市的热力图。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '城市热力图'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b} <br/>{c}'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '城市',
            type: 'heatmap',
            data: [
                // ... 城市数据
            ]
        }
    ]
};

myChart.setOption(option);

3. 地图点击事件案例

案例描述: 当用户点击地图上的某个省份时,显示该省份的详细信息。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图点击事件'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ],
            itemStyle: {
                emphasis: {
                    label: {
                        show: true
                    }
                }
            },
            // 点击事件
            click: function (params) {
                alert(params.name + '的详细信息');
            }
        }
    ]
};

myChart.setOption(option);

4. 地图动画案例

案例描述: 使用ECharts地图图表展示地图的动画效果。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图动画效果'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ],
            animation: true,
            animationDuration: 1000
        }
    ]
};

myChart.setOption(option);

5. 地图数据筛选案例

案例描述: 根据用户的选择,筛选出符合条件的地图数据。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图数据筛选'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ],
            // 数据筛选
            dataFilter: function (params) {
                return params.value > 500;
            }
        }
    ]
};

myChart.setOption(option);

6. 地图自定义案例

案例描述: 自定义地图的样式和颜色。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图自定义样式'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            itemStyle: {
                normal: {
                    areaColor: '#323c48',
                    borderColor: '#111'
                },
                emphasis: {
                    areaColor: '#2a333d'
                }
            },
            data: [
                // ... 省份数据
            ]
        }
    ]
};

myChart.setOption(option);

7. 地图多级案例

案例描述: 展示多级地图,如中国省、市、县。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '多级地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ],
            // 多级地图
            levels: [
                {
                    itemStyle: {
                        areaColor: '#323c48',
                        borderColor: '#111'
                    }
                },
                {
                    itemStyle: {
                        areaColor: '#2a333d',
                        borderColor: '#111'
                    }
                }
            ]
        }
    ]
};

myChart.setOption(option);

8. 地图动态更新案例

案例描述: 动态更新地图数据。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图动态更新'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        }
    ]
};

// 动态更新数据
setInterval(function () {
    option.series[0].data = [
        // ... 更新后的数据
    ];
    myChart.setOption(option);
}, 2000);

9. 地图联动案例

案例描述: 将多个地图图表进行联动。

代码示例:

var myChart1 = echarts.init(document.getElementById('main1'));
var myChart2 = echarts.init(document.getElementById('main2'));

var option1 = {
    // ... 地图1的配置
};

var option2 = {
    // ... 地图2的配置
};

myChart1.setOption(option1);
myChart2.setOption(option2);

// 联动事件
myChart1.on('click', function (params) {
    myChart2.setOption({
        series: [{
            data: [params.name]
        }]
    });
});

10. 地图与折线图结合案例

案例描述: 将地图与折线图进行结合,展示不同省份的GDP变化。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与折线图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: 'GDP',
            type: 'line',
            data: [
                // ... GDP数据
            ]
        }
    ]
};

myChart.setOption(option);

11. 地图与饼图结合案例

案例描述: 将地图与饼图进行结合,展示不同省份的人口比例。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与饼图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '人口比例',
            type: 'pie',
            radius: '30%',
            center: ['50%', '60%'],
            data: [
                // ... 人口比例数据
            ]
        }
    ]
};

myChart.setOption(option);

12. 地图与散点图结合案例

案例描述: 将地图与散点图进行结合,展示不同城市的气温。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与散点图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '气温',
            type: 'scatter',
            coordinateSystem: 'geo',
            data: [
                // ... 气温数据
            ]
        }
    ]
};

myChart.setOption(option);

13. 地图与柱状图结合案例

案例描述: 将地图与柱状图进行结合,展示不同省份的GDP排名。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与柱状图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: 'GDP排名',
            type: 'bar',
            coordinateSystem: 'geo',
            data: [
                // ... GDP排名数据
            ]
        }
    ]
};

myChart.setOption(option);

14. 地图与雷达图结合案例

案例描述: 将地图与雷达图进行结合,展示不同省份的经济指标。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与雷达图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '经济指标',
            type: 'radar',
            data: [
                // ... 经济指标数据
            ]
        }
    ]
};

myChart.setOption(option);

15. 地图与漏斗图结合案例

案例描述: 将地图与漏斗图进行结合,展示不同省份的人口流动情况。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与漏斗图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '人口流动',
            type: 'funnel',
            data: [
                // ... 人口流动数据
            ]
        }
    ]
};

myChart.setOption(option);

16. 地图与词云图结合案例

案例描述: 将地图与词云图进行结合,展示不同省份的热门词汇。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与词云图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '热门词汇',
            type: 'wordCloud',
            data: [
                // ... 热门词汇数据
            ]
        }
    ]
};

myChart.setOption(option);

17. 地图与仪表盘结合案例

案例描述: 将地图与仪表盘进行结合,展示不同省份的GDP增长率。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与仪表盘结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: 'GDP增长率',
            type: 'gauge',
            center: ['50%', '60%'],
            data: [
                // ... GDP增长率数据
            ]
        }
    ]
};

myChart.setOption(option);

18. 地图与漏斗图结合案例

案例描述: 将地图与漏斗图进行结合,展示不同省份的人口流动情况。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与漏斗图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '人口流动',
            type: 'funnel',
            data: [
                // ... 人口流动数据
            ]
        }
    ]
};

myChart.setOption(option);

19. 地图与词云图结合案例

案例描述: 将地图与词云图进行结合,展示不同省份的热门词汇。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与词云图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '热门词汇',
            type: 'wordCloud',
            data: [
                // ... 热门词汇数据
            ]
        }
    ]
};

myChart.setOption(option);

20. 地图与仪表盘结合案例

案例描述: 将地图与仪表盘进行结合,展示不同省份的GDP增长率。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与仪表盘结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: 'GDP增长率',
            type: 'gauge',
            center: ['50%', '60%'],
            data: [
                // ... GDP增长率数据
            ]
        }
    ]
};

myChart.setOption(option);

21. 地图与漏斗图结合案例

案例描述: 将地图与漏斗图进行结合,展示不同省份的人口流动情况。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与漏斗图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '人口流动',
            type: 'funnel',
            data: [
                // ... 人口流动数据
            ]
        }
    ]
};

myChart.setOption(option);

22. 地图与词云图结合案例

案例描述: 将地图与词云图进行结合,展示不同省份的热门词汇。

代码示例:

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与词云图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                // ... 省份数据
            ]
        },
        {
            name: '热门词汇',
            type: 'wordCloud',
            data: [
                // ... 热门词汇数据
            ]
        }
    ]
};

myChart.setOption(option);

23. 地图与仪表盘结合案例

案例描述: 将地图与仪表盘进行结合,展示不同省份的GDP增长率。

代码示例:

”`javascript var myChart = echarts.init(document.getElementById(‘main’));

var option =