案例一:中国省市基础地图展示
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') {
console.log('点击了 ' + params.name);
// 这里可以添加更多逻辑,例如显示详细信息等
}
});
案例三:中国省市地图颜色渐变
通过调整 itemStyle 的 color 属性,可以为地图添加颜色渐变效果。
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true
},
itemStyle: {
color: function (params) {
return params.value > 500 ? '#f00' : '#0f0';
}
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
]
}
]
案例四:中国省市地图添加文字标签
在地图上添加文字标签,可以更直观地展示信息。
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true,
formatter: '{b}'
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
]
}
]
案例五:中国省市地图添加数据标签
在地图上添加数据标签,可以展示每个省市的数值信息。
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
],
markPoint: {
symbol: 'pin',
symbolSize: 50,
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
]
}
}
]
案例六:中国省市地图添加折线图
在地图上添加折线图,可以展示某个省市的趋势信息。
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
],
markLine: {
silent: false,
symbol: ['none', 'circle'],
symbolSize: 5,
data: [
[{name: '北京'}, {name: '上海'}],
// ... 其他省市
]
}
}
]
案例七:中国省市地图添加柱状图
在地图上添加柱状图,可以展示某个省市的数值信息。
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
],
markBar: {
silent: false,
symbol: 'none',
symbolSize: 10,
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
]
}
}
]
案例八:中国省市地图添加散点图
在地图上添加散点图,可以展示某个省市的分布情况。
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
],
markPoint: {
symbol: 'pin',
symbolSize: 50,
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
]
}
}
]
案例九:中国省市地图添加地图缩放
通过添加 visualMap 组件,可以为地图添加缩放功能。
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
],
visualMap: {
min: 0,
max: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
}
}
]
案例十:中国省市地图添加地图轮播
通过添加 timeline 组件,可以为地图添加轮播功能。
var option = {
title: {
text: '中国省市地图轮播'
},
tooltip: {
trigger: 'item'
},
timeline: {
data: ['2019', '2020', '2021', '2022'],
loop: false,
autoPlay: false,
playInterval: 1000,
controlStyle: {
position: 'left'
}
},
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省市
]
}
]
};
通过以上 10 个案例,相信你已经掌握了 ECharts 地图图表的绘制方法。在实际应用中,可以根据需求调整参数,实现更多功能。祝你学习愉快!
