案例一:中国省市区级地图
在ECharts中,绘制中国省市区级地图是一个常用的功能。以下是如何实现的一个简单示例:
// 基于准备好的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)},
// ... 其他省市区数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例二:世界地图
ECharts同样支持世界地图的绘制。以下是一个简单的世界地图案例:
// 基于准备好的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)},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例三:自定义地图
如果你需要绘制一个自定义地图,比如某个景区或者特定区域,ECharts也提供了相应的功能。以下是一个自定义地图的示例:
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '自定义地图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '自定义地图',
type: 'map',
mapType: 'custom',
label: {
show: true
},
data: [
{name: '景区1', value: Math.round(Math.random() * 1000)},
{name: '景区2', value: Math.round(Math.random() * 1000)},
// ... 其他景区数据
],
// 自定义地图的 geoJSON 数据
geoJson: {
// ... geoJSON 数据
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例四:地图热力图
热力图是地图数据可视化中常用的一种方式,以下是一个使用ECharts绘制地图热力图的示例:
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图热力图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '热力图',
type: 'heatmap',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92, 100]},
{name: '上海', value: [121.48, 31.22, 80]},
// ... 其他数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例五:地图点击事件
ECharts支持地图的点击事件,以下是一个实现地图点击事件的示例:
// 基于准备好的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)},
// ... 其他省市区数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 监听点击事件
myChart.on('click', function (params) {
if (params.componentType === 'series') {
alert('点击了:' + params.name);
}
});
案例六:地图联动
有时候,我们需要在多个地图之间进行联动,以下是一个地图联动的示例:
// 基于准备好的dom,初始化echarts实例
var myChart1 = echarts.init(document.getElementById('main1'));
var myChart2 = echarts.init(document.getElementById('main2'));
// 指定图表的配置项和数据
var option1 = {
// ... 省市区地图配置
};
var option2 = {
// ... 世界地图配置
};
// 使用刚指定的配置项和数据显示图表。
myChart1.setOption(option1);
myChart2.setOption(option2);
// 监听点击事件
myChart1.on('click', function (params) {
if (params.componentType === 'series') {
myChart2.dispatchAction({
type: 'select',
seriesIndex: 0,
dataIndex: params.name
});
}
});
案例七:地图动画效果
ECharts支持地图的动画效果,以下是一个地图动画效果的示例:
// 基于准备好的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)},
// ... 其他省市区数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 设置动画效果
myChart.setOption({
animation: true
});
案例八:地图自定义样式
ECharts允许自定义地图的样式,以下是一个自定义地图样式的示例:
// 基于准备好的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
},
itemStyle: {
normal: {
areaColor: '#323c48',
borderColor: '#111'
},
emphasis: {
areaColor: '#2a333d'
}
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '天津', value: Math.round(Math.random() * 1000)},
// ... 其他省市区数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例九:地图数据钻取
ECharts支持地图数据的钻取功能,以下是一个实现地图数据钻取的示例:
// 基于准备好的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)},
// ... 其他省市区数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 监听点击事件
myChart.on('click', function (params) {
if (params.componentType === 'series') {
myChart.dispatchAction({
type: 'expand',
seriesIndex: 0,
dataIndex: params.name
});
}
});
案例十:地图数据聚合
ECharts支持地图数据的聚合功能,以下是一个实现地图数据聚合的示例:
// 基于准备好的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)},
// ... 其他省市区数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 监听点击事件
myChart.on('click', function (params) {
if (params.componentType === 'series') {
myChart.dispatchAction({
type: 'dataZoom',
start: 0,
end: 50
});
}
});
通过以上10个案例,相信你已经对ECharts地图图表有了更深入的了解。在实际应用中,你可以根据自己的需求进行相应的调整和优化。希望这些案例能够帮助你轻松掌握ECharts地图图表,实现区域数据可视化。
