如何使地图和柱状图联动
点击中国地图中的省,实现显示该省的对应的柱状图统计,请问这个联动效果如何实现呢?是否有熟悉的朋友能指教一下
option = {
tooltip: {
trigger: 'item',
formatter: '{b}'
},
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
selectedMode : 'multiple',
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
}
]
};
// myChart是图表实例
myChart.on('click', function (params) {
// params是点击后获得区块信息
var city = params.name;
loadChart(city); // loadChart用来显示柱状图,包括setOption等等逻辑。
});
option代码来自于 echarts中国地图
补充:
option = {
color: ['#3398DB'],
tooltip : {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis : [
{
type : 'category',
data : ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
axisTick: {
alignWithLabel: true
}
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
name:'直接访问',
type:'bar',
barWidth: '60%',
data:[10, 52, 200, 334, 390, 330, 220]
}
]
};
假设一下这个是省份的柱状图的option
然后下面是loadChart
函数
var citys = ["浙江","上海"];
var datas = ["浙江的数据","上海的数据"]
loadChart = function(city) {
// 通过city的值在citys内获取index,然后获取datas中对应数据
// 传递过来的不一定是省份名称,也可以是其dataIndex,然后datas中数据顺序对应也可以。
option.series[0].data = datas[0]; // 替换新的省份数据,当然具体这里的数据格式我并不清楚。
bars.setOption(option, {"notMerge": true});
//另外可能一开始不显示,然后第一次进行判断显示的逻辑我就不写了。
}
原文链接:https://segmentfault.com/q/1010000010809088?sort=created
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
2015-11-06 markdown 简明语法