ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型,包括地图图表。地图图表在数据可视化中扮演着重要角色,能够直观地展示地理分布和空间关系。本篇文章将为你提供50个实用案例解析,帮助你轻松上手ECharts地图图表。
案例一:中国地图基本展示
首先,我们从最基础的地图展示开始。以下是一个简单的中国地图图表的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化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)
}, {
name: '上海',
value: Math.round(Math.random() * 1000)
}, {
name: '广东',
value: Math.round(Math.random() * 1000)
}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例二:世界地图基本展示
除了中国地图,ECharts 也支持世界地图的展示。以下是一个简单的世界地图图表的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入世界地图数据
require('echarts/map/js/world');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '世界地图基本展示'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '世界',
type: 'map',
mapType: 'world',
label: {
show: true
},
data: [{
name: '美国',
value: Math.round(Math.random() * 1000)
}, {
name: '巴西',
value: Math.round(Math.random() * 1000)
}, {
name: '印度',
value: Math.round(Math.random() * 1000)
}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例三:自定义地图
ECharts 支持自定义地图,你可以通过定义自己的地图数据来实现。以下是一个自定义地图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入自定义地图数据
require('echarts/map/js/customMap');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '自定义地图'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '自定义地图',
type: 'map',
mapType: 'customMap',
label: {
show: true
},
data: [{
name: '区域1',
value: Math.round(Math.random() * 1000)
}, {
name: '区域2',
value: Math.round(Math.random() * 1000)
}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例四:地图上的热力图
在地图上展示热力图可以更直观地展示数据的密集程度。以下是一个地图上热力图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的热力图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '热力图',
type: 'heatmap',
coordinateSystem: 'geo',
data: [
[116.46,39.92,90],
[116.46,39.92,80],
[116.46,39.92,70],
[116.46,39.92,60],
[116.46,39.92,50],
[116.46,39.92,40],
[116.46,39.92,30],
[116.46,39.92,20],
[116.46,39.92,10],
[116.46,39.92,0]
]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例五:地图上的折线图
在地图上展示折线图可以展示数据的变化趋势。以下是一个地图上折线图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的折线图'
},
tooltip: {
trigger: 'item'
},
xAxis: {
type: 'category',
data: ['北京', '上海', '广东']
},
yAxis: {
type: 'value'
},
series: [{
data: [120, 200, 150],
type: 'line'
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例六:地图上的散点图
在地图上展示散点图可以展示数据的分布情况。以下是一个地图上散点图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的散点图'
},
tooltip: {
trigger: 'item'
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'value'
},
series: [{
data: [
[116.46,39.92],
[121.47,31.23],
[113.23,23.16]
],
type: 'scatter'
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例七:地图上的柱状图
在地图上展示柱状图可以展示数据的比较情况。以下是一个地图上柱状图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的柱状图'
},
tooltip: {
trigger: 'item'
},
xAxis: {
type: 'category',
data: ['北京', '上海', '广东']
},
yAxis: {
type: 'value'
},
series: [{
data: [120, 200, 150],
type: 'bar'
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例八:地图上的饼图
在地图上展示饼图可以展示数据的占比情况。以下是一个地图上饼图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的饼图'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '饼图',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{value: 335, name: '北京'},
{value: 310, name: '上海'},
{value: 234, name: '广东'}
]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例九:地图上的雷达图
在地图上展示雷达图可以展示数据的综合情况。以下是一个地图上雷达图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的雷达图'
},
tooltip: {
trigger: 'item'
},
xAxis: {
type: 'category',
data: ['北京', '上海', '广东']
},
yAxis: {
type: 'value'
},
series: [{
name: '雷达图',
type: 'radar',
data: [
[{value: [90, 80, 70, 60, 50]}, '北京'],
[{value: [80, 70, 60, 50, 40]}, '上海'],
[{value: [70, 60, 50, 40, 30]}, '广东']
]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十:地图上的K线图
在地图上展示K线图可以展示股票等金融数据的走势。以下是一个地图上K线图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的K线图'
},
tooltip: {
trigger: 'item'
},
xAxis: {
type: 'category',
data: ['北京', '上海', '广东']
},
yAxis: {
type: 'value'
},
series: [{
name: 'K线图',
type: 'k',
data: [
[120, 200, 150, 180],
[150, 180, 160, 170],
[160, 170, 180, 190]
]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十一:地图上的地图
在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化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)
}, {
name: '上海',
value: Math.round(Math.random() * 1000)
}, {
name: '广东',
value: Math.round(Math.random() * 1000)
}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十二:地图上的地图
在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化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)
}, {
name: '上海',
value: Math.round(Math.random() * 1000)
}, {
name: '广东',
value: Math.round(Math.random() * 1000)
}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十三:地图上的地图
在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化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)
}, {
name: '上海',
value: Math.round(Math.random() * 1000)
}, {
name: '广东',
value: Math.round(Math.random() * 1000)
}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十四:地图上的地图
在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化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)
}, {
name: '上海',
value: Math.round(Math.random() * 1000)
}, {
name: '广东',
value: Math.round(Math.random() * 1000)
}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十五:地图上的地图
在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:
”`javascript // 引入 ECharts 主模块 var echarts = require(‘echarts/lib/echarts’); // 引入中国地图数据 require(‘echarts/map/js/china’);
// 基于准备好的dom,初始化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)
}, {
name: '上海',
value: Math.round(Math.random() * 1000)
}, {
name: '广东',
value: Math.round(Math.random() * 1000)
}]
}]
};
// 使用刚指定的配置项和数据显示图表。 myChart.setOption