用 echarts画图时tooltip.formatter参数params不会更新

2023-11-11

使用echarts画地图时,遇到一个很奇怪的问题。

首先说明我的目的:为了让地图漂亮些,不同的地图区域显示不同的颜色。

由于待绘制的地图二级地市数量不确定,需要通过解析获取到的数据来确定,因此我在

series的itemStyle中采用了函数来进行传递数值。

itemStyle: {
    //normal 是图形在默认状态下的样式;
    normal: {
        //每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
        color: function (params) {
            console.log(params);
            //  var colorList = ['#0080BD', '#987ECA', '#FC954E', '#009E92', '#FEB134', '#00E47B', '#277BA2', '#8AAE92', '#B0DEDB', '#00A294'];//十个柱子颜色
            return childColorList[params.dataIndex];
        }
    },
    //emphasis 是图形在高亮状态下的样式,比如在鼠标悬浮或者图例联动高亮时。
    emphasis: {
        show: true,
        areaColor: "#a7efe9",
    }
},
现在的问题是 itemStyle
中的参数params不会随着数据的变化来发生变化。我在每次用户点击第一级省直辖市时,显示对应的省直辖市二级下辖地市,
但地图切换过来啦,对应的数据始终没有更新,params也没有更新。

问题排查: setOption时默认是合并, 如果要全部重新加载 要写成 setOption({},true),这样就可以了。

完整代码如下:

function initEcharts(subName, subText) {
    var child = echarts.init(document.getElementById('subChart'));
    child.setOption({
        tooltip: {
            // 显示策略,可选为:true(显示) | false(隐藏)
            show: true,
            //展示图例--多条提示标题解决单位中文英文展示
            trigger: 'item',
            formatter: function (params, title) {
                //console.log(params);
                return "地市数据";
            },
            // tooltip主体内容显示策略,只需tooltip触发事件或显示axisPointer而不需要显示内容时可配置该项为false
            showContent: true,
            // 显示延迟,添加显示延迟可以避免频繁切换,特别是在详情内容需要异步获取的场景,单位ms
            showDelay: 0,
            // 隐藏延迟,单位ms
            hideDelay: 0,
            // 动画变换时长,单位s,如果你希望tooltip的跟随实时响应,showDelay设置为0是关键,同时transitionDuration0也会有交互体验上的差别。
            transitionDuration: 0,
            // 鼠标是否可进入详情气泡中,默认为false,如需详情内交互,如添加链接,按钮,可设置为true            //enterable: false,
            // 提示背景颜色,默认为透明度为0.7的黑色
            backgroundColor: '#ffffff',
            borderColor: '#987ECA',
            borderWidth: 1,
            // 提示内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距,同css
            padding: 15,
            // 提示边框圆角,单位px,默认为4
            borderRadius: 10,
            // 提示边框线宽,单位px,默认为0(无边框)
            borderWidth: 2,
            // 文本样式,默认为白色字体
            textStyle: {
                // 颜色
                color: '#333333',
                // 水平对齐方式,可选为:'left' | 'right' | 'center'
                align: 'left',
                // 垂直对齐方式,可选为:'top' | 'bottom' | 'middle'
                baseline: 'bottom',
                // 字体系列
                fontFamily: 'Arial, Microsoft YaHei, sans-serif',
                // 字号 ,单位px
                // fontSize: 20,
                // 样式,可选为:'normal' | 'italic' | 'oblique'
                fontStyle: 'normal',
                // 粗细,可选为:'normal' | 'bold' | 'bolder' | 'lighter' | 100 | 200 |... | 900
                fontWeight: 'normal'
            },
        },


        series: [{
            type: 'map',
            //这里是'china',及因为js中注册的名字,如果是上海市,则该出需pName 指的是'shanghai'
            textStyle: {
                align: "center",
                baseline: "middle"
            },
            top: 130,
            mapType: subText,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            //地图区域的多边形 图形样式,有 normal  emphasis 两个状态
            itemStyle: {
                //normal 是图形在默认状态下的样式;
                normal: {
                    //每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
                    color: function (params) {
                        console.log(params);
                        //  var colorList = ['#0080BD', '#987ECA', '#FC954E', '#009E92', '#FEB134', '#00E47B', '#277BA2', '#8AAE92', '#B0DEDB', '#00A294'];//十个柱子颜色
                        return childColorList[params.dataIndex];
                    }
                },
                //emphasis 是图形在高亮状态下的样式,比如在鼠标悬浮或者图例联动高亮时。
                emphasis: {
                    show: true,
                    areaColor: "#a7efe9",
                }
            },
        }]
    }, true);
}



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用 echarts画图时tooltip.formatter参数params不会更新 的相关文章

  • 在vue项目中echarts父子组件异步传值,解决数据更新,echarts页面不更新问题

    在使用echarts进行数据展示的时候 遇到了一个问题 echarts图表是作为子组件进行展示的 需要父组件发送请求并获取到返回数据后再传给子组件进行数据展示 但是由于子组件比父组件先渲染 所以就会导致子组件获取不到父组件传递的数据 针对这
  • Echarts tooltip.trigger设为‘axis’ 如何自定义 Tooltip的显示

    题记 当echarts折线图中trigger设置为axis时 只想让tooltip自定义显示某一条线上的点的动态信息 Vue3 TS Vue Echarts 1 问题说明 1 现状 如下图所示折线图 当tooltip的trigger属性值设
  • echarts实现一个页面同时显示多个图表

    前言 因工作需要 老大要求给我一个JSON数据 用echarts 写一个option实现多个图表 折线图 饼图 关系图 展示 也就是说只要一个div dom对象 实现多个不同形状的图表展示 ps 前期没弄清老大意思 写了三个div来显示 尴
  • 用python开发了一个绘制股票k线图的工具,还可以预测股票涨跌!【文末附源码和教学视频】

    文章目录 聊一聊这个工具 效果展示 股票数据 运行项目 前端界面 后端接口 源码地址 聊一聊这个工具 起初 我并不在意echarts 这不过是一个偶然 一次选择 一条简单的代码 一个图表的诞生 直到我完成了K线图的绘制 股票 一个神奇的发明
  • echarts实现气泡图(气泡之间不叠加)

    前言 echarts本身是有气泡图的 官方气泡图的特点是每个气泡的位置是基于坐标轴进行定位 如图1和2所示 但是本文所介绍的气泡图并不是官方所介绍的气泡图 而是一类区别于官方的图表类型 这种图表类型通常采用d3 js插件实现 如图3所示 从
  • echarts之饼图制作+标示线

    1 安装echarts组件 npm install echarts s 2 在main js中全局引入以及挂载 import echarts from echarts 引入 Vue prototype echarts echarts 挂载
  • 测试开发1

    基本概念 一 测试开发基本概念 1 什么是软件测试 2 软件测试和软件开发的区别 3 你为什么选择软件测试 4 什么是需求 二 测试开发基础 1 需求是软件测试的依据 2 用户名和密码登陆测试用例 2 1 功能角度 2 2 非功能需求维度
  • Echarts修改X轴文字设置倾斜角度

    在X轴配置项内加入rotate属性 比如rotate 15 倾斜 15度 xAxis type category axisLabel rotate 15 倾斜30度 lt lt lt lt lt 复制这里 interval 0 textSt
  • 解决Echarts默认值为NaN问题

    只需要将echarts的下面属性进行修改就可以了 我们可以在下面代码逻辑中添加自己的逻辑 tooltip trigger item formatter function params if params value return param
  • 点击echarts柱状图动态改变数据项颜色样式

    首先附上参考文章连接 https blog csdn net weixin 42870683 article details 103528254添加链接描述 今天来实现点击echarts柱状图 动态改变柱状图数据项颜色样式的案例 只要认真做
  • html 自定义简单的时间轴 timeline 并与 table 图表和 echarts 进度甘特图联动

    1 需求 最近有需求需要实现 table 图表与 eharts 柱状图的联动 完整的效果图如下所示 这里时间轴要实现的效果要基本如下图所示 该时间轴并不是要实现选中单独的某一个月份并查看单月的数据 而是要将当前数据的时间跨度控制在时间轴的跨
  • Vue页面多次渲染echarts封装的组件但只出现一个(原因分析,多方案解决,最后附上源码)

    前言 最近写项目 写到可视化的部分 有一个水球图的部分我已经封装好了 但是需要在页面多次渲染的时候只能渲染一个水球图 这篇记录一下解决的办法 对于在页面多次使用封装好的echarts组件均可适用 原因分析 首先我们要知道echart实例的创
  • Vue将页面中Echarts动态图导出Gif动图

    Vue将页面中Echarts动态图导出Gif动图 首先 准备工作需要三个依赖的js 第一个js采用npm进行安装 npm install html2canvas 第二个js采用下载放入项目中进行使用 下载链接 https pan baidu
  • 在Echarts中的tooltip上添加点击按钮

    需求 在Echarts的tooltips中添加点击按钮并可以鼠标悬停点击该按钮 功能实现 在option中的tooltip添加enterable true的属性 表示鼠标可以移入tooltip中 再在formatter中添加
  • 动态渲染 echarts 饼图(vue 2 + axios + Springboot)

    目录 前言 1 项目搭建 1 1 前端 1 2 后端 2 后端数据渲染前端 2 1 补充1 在 vue 中使用 axios 2 2 补充2 Springboot 处理跨域问题 2 3 修改前端代码 2 3 1 修改饼图样式 2 3 2 调用
  • Python pyecharts数据可视化

    Python pyecharts数据可视化 绘制精美图表 一 数据可视化 1 pyecharts介绍 2 初入了解 1 快速上手 2 简单的配置项介绍 3 案例实战 1 柱状图Bar 2 地图Map 省份 城市 地区 3 饼图Pie Pie
  • uniapp 导入ucharts图表插件 H5项目, 使用echarts eopts配置

    先下载ucharts H5示例源码 uCharts 高性能跨平台图表库 支持H5 APP 小程序 微信小程序 支付宝小程序 钉钉小程序 百度小程序 头条小程序 QQ小程序 快手小程序 360小程序 Vue Taro等更多支持canvas的框
  • Echarts3(百度)工具提示中的彩色圆形

    Echarts3 百度 工具提示中的彩色圆形 默认情况下 工具提示具有与图形相同颜色的圆形 如下所示 http echarts baidu com gallery editor html c candlestick brush http e
  • 如何在echarts中添加渐变颜色?

    I made a echart line graph https stackblitz com edit angular aqghec file src 2Fapp 2Fapp component ts Now I want to add
  • 百度的echarts - 填充两行之间的空间

    我想找到一种在 ECharts 中绘制两条线并填充它们之间的空间的方法 如下所示 这样每条线都有自己的颜色 根据线条的顺序 区域填充为一种颜色或另一种颜色 见图 有本地方法吗 我发现有些人在提到extensions 但没有人提供任何关于如何

随机推荐

  • opencv人脸检测--detectMultiScale函数

    opencv人脸检测 detectMultiScale函数 转载请注明出处 http blog csdn net itismelzp article details 50379359 首先上两张图 现在要对上面两张图进行人脸检测 一 Haa
  • sqli-labs 21-40关

    21关 进行基本尝试发现用户名与密码都被过滤 那么先登陆试试吧 登陆之后页面变为 发现注入点可能为ip cookie agent 使用抓包软件试试 看这个东西显然被加密了 尝试过之后发现cookie是注入点 不加密时 报错 查看一下题目co
  • 大数据Hadoop学习之————基于物品的协同过滤算法实现物品推荐

    一 基础概念 协同过滤算法一般分为两种实现 基于用户的协同过滤算法 userCF 通过寻找相似兴趣的其他用户 为指定用户推荐物品 比如用户A喜欢商品A B 用户B也喜欢商品A和B 则可以认为用户A和B兴趣相似 这时候就可以像用户A推荐用户B
  • 小程序基本知识点

    Page data定义内容 data name ball changename 更新data里面的数据 this setData name name
  • 如何用人工智能预测股票(完整答案)

    前言 十分钟实现人工智能股价预测 是一个深度学习的练习项目 其通过机器学习算法 根据过去几年与某只股票相关的K线走势 公司相关报道的情感分析作为数据集 通过训练来得到可以预测股价的机器学习模型 并用该模型对股价进行预测 本项目使用几种不同的
  • ajax请求必须打断点才能成功,请问ajax请求过程中都经历了哪些状态?

    紫衣仙女 AJAX运行过程中5种状态 0 未初始化 还没有调用send 方法 1 载入 已调用send 方法 正在发送请求 2 载入完成 send 方法执行完成 3 交互 正在解析响应内容 4 完成 响应内容解析完成 可以在客户端调用了 p
  • RT-DETR论文解读与代码

    RTdetr ecoder和decoder部分pytorch复现代码链接见文末 1 初始化策略与源码有所差异 使用过程中可以根据自己的需求进行更换 2 代码经过一条一条的debug 本身没有bug 并且是依据作者源码用pytorch实现 但
  • 给定数组长度2n,分成n对,求n对最小元素之和最大

    给定长度为 2n 的数组 你的任务是将这些数分成 n 对 例如 a1 b1 a2 b2 an bn 使得从1 到 n 的 min ai bi 总和最大 示例 1 输入 1 4 3 2 输出 4 解释 n 等于 2 最大总和为 4 min 1
  • 2021-09-23 opencv学习笔记(图像变换,二值化,滤波器介绍及python实现)

    opencv学习笔记 颜色空间 改变颜色空间 cv2 cvtColor 目标追踪 如何查找某个颜色的HSV值 图形变换 缩放 cv2 resize 平移 旋转 仿射变换 透视变换 二值化 简单阈值法 自适应阈值 Otsu二值化 俗称大津法
  • 解决 Mac Python安装 mysqlclient 库报错

    文章目录 安装 brew 安装 mysql 安装 MySQL Connector c 安装 XCode 安装 OpenSSL 取消链接MySQL和链接的MySQL连接器mysql connector c 安装 mysqlclient 再次连
  • `subprocess`模块之Popen

    subprocess模块之Popen https www liuzhongwei com page 72887 html https www runoob com w3cnote python3 subprocess html https
  • >_<NameError: name ‘history‘ is not defined 问题解决

    在使用 jupyter notebook运行程序时出现了错误 NameError name history is not defined 将出问题的程序截取了一段如下图所示 后来浏览了网上的资源尝试了别人给出的解决办法 并没有解决我运行的程
  • 使用FORCE训练的脉冲神经网络中的监督学习(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1第一代神经网络 1 2 第二代神经网络 BP 神经网络 1 3 第三代神经网络 脉冲神经网络 2 运
  • html楼层效果图,如何使用纯html+css+javascript实现楼层跳跃式的页面布局

    如何使用纯html css javascript实现楼层跳跃式的页面布局 发布时间 2021 04 13 12 20 50 来源 亿速云 阅读 104 作者 小新 这篇文章给大家分享的是有关如何使用纯html css javascript实
  • AI大模型私有化部署流程

    私有化部署AI大模型需要一定的GPU支持 适合有一定经济实力的公司 今天和大家分享一下如何进行私有化部署 这涉及很专业的知识 包括硬件和软件环境 模型部署 API集成 测试验证等 这里只是初步讨论一下 希望对大家的工作有所帮助 北京木奇移动
  • 数据可视化:掌握数据领域的万金油技能

    欢迎来到我的博客 作者 秋无之地 简介 CSDN爬虫 后端 大数据领域创作者 目前从事python爬虫 后端和大数据等相关工作 主要擅长领域有 爬虫 后端 大数据开发 数据分析等 欢迎小伙伴们点赞 收藏 留言 关注 关注必回关 上一篇文章已
  • python 中 sm.graphics.plot_regress_exog 绘制图像的解释

    导入相关包 import numpy as np import pandas as pd import statsmodels api as sm import matplotlib pyplot as plt 创建数据 X np aran
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • <van-empty description=““ /> 滚动条bug

    使用
  • 用 echarts画图时tooltip.formatter参数params不会更新

    使用echarts画地图时 遇到一个很奇怪的问题 首先说明我的目的 为了让地图漂亮些 不同的地图区域显示不同的颜色 由于待绘制的地图二级地市数量不确定 需要通过解析获取到的数据来确定 因此我在 series的itemStyle中采用了函数来