2022-04-22 工作记录--Highcharts-图表点击事件 + 图例点击事件 + 图例格式化后的回调

Highcharts-图表点击事件 + 图例点击事件 + 图例格式化后的回调

一、前言

  • 看似很简单的问题,其实里面有很多细节,所以做个笔记哟~❀
  • 如下图:上面是图表,下面是图例哟☺️
    在这里插入图片描述

二、官方文档

https://www.highcharts.com.cn/docs

三、图表点击事件

图表点击事件,简单解释下,就是:点击图表中对应板块时的事件。

1、写法一【特定图表的图表点击事件】

plotOptions:{}里对应图表类型里(比如:饼图->pie)写点击事件【这样写就是有针对性地赋予特定图表 点击事件】,下图以饼图为例:

在这里插入图片描述

对应代码:

// 每种图表类型属性设置
plotOptions: {// 饼状图pie: {showInLegend: true, // 显示饼图的图例allowPointSelect: true,cursor: 'pointer',dataLabels: {enabled: true,distance: 50,// 通过 format 或 formatter 来格式化数据标签显示format: '{point.name} 值:{point.y} 占比:{point.percentage:.1f}%',// formatter: function() {// // this 为当前的点(扇区)对象,可以通过  console.log(this) 来查看详细信息// return '<span style="color: ' + this.point.color + '"> 值:' + this.y + ',占比' + this.percentage + '%</span>';// },style: {color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'}},events: { // 饼图的点击事件-调用自定义的函数pieClickclick: function (e) {// console.log(e.point.name);pieClick(e.point.name);}}}
},

2、写法二【任意图表的图表点击事件】

在与plotOptions:{}同级的series里面写点击事件【这样写就不用管是什么图表 的点击事件了】,下图是以饼图为例:

在这里插入图片描述

对应代码:

// 图表要展现的数据
series: [{events: { // 图表点击事件click:function(e) { // 图表的点击事件-举例:调用自定义的函数pieClick// console.log(e.point.name);pieClick(e.point.name);}}
}]

四、图例点击事件

1、图例相关知识的官方文档

https://www.highcharts.com.cn/docs/basic-legend

2、除饼图以外的图例点击事件

在图例的官方文档往下翻,找到“三、图例点击事件”中的“1、默认图例点击事件”,如下图:

在这里插入图片描述

对应代码:

plotOptions: {series: {events: {legendItemClick: function(e) {/** 默认实现是显示或隐藏当前数据列,e 代表事件, this 为当前数据列*/}}}
} 

3、饼图的图例点击事件

在图例的官方文档往下翻,找到“三、图例点击事件”中的“3、饼图图表点击事件”,如下图:

在这里插入图片描述
对应代码:

plotOptions: {pie: {point: {events: {legendItemClick: function(e) {console.log(e);console.log(e.target.name); // 通过e.target.name获取到对应的属性名return false; // 直接 return false 即可禁用图例点击事件(实现点击图例后,不能再默认地显示隐藏当前图例在图表里的对应数据)            }}}}
}

五、图例格式化后的回调

简单解释下,图例格式化后的回调 是:一进入页面,图例展示的样式(以怎样的一种的格式展示出来,自定义滴)。

在图例的官方文档往下翻,找到“二、图例内容及定位”、,如下图:

在这里插入图片描述

举例:

plotOptions: {// 饼状图pie: {showInLegend: true, // 显示饼图的图例allowPointSelect: true,cursor: 'pointer',point: {events: {legendItemClick: function(e) { // 饼图图例的点击事件-调用函数pieClickconsole.log(e)pieClick(e.target.name);return false; // 直接 return false 即可禁用图例点击事件(实现点击图例后,不能再默认地显示隐藏当前图例在图表里的对应数据)}}},dataLabels: {enabled: true,distance: 20,// 通过 format 或 formatter 来格式化数据标签显示format: '{point.name} {point.percentage:.1f}%',style: {color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'}}}
},
// 图例格式化
legend: {labelFormatter: function() {/**  格式化函数可用的变量:this, 可以用 console.log(this) 来查看包含的详细信息*  this 代表当前数据列对象,所以默认的实现是 return this.name*/// console.log(this);// console.log(this.y); // 属性值var index = this.index; // 索引值if(this.y == 0) { // 数据为0时$('#container .highcharts-legend .highcharts-legend-item').eq(index).children('.highcharts-point').attr('fill','#ccc'); // 数据为0的,小圆点显示灰色$('#container .highcharts-legend .highcharts-legend-item').eq(index).children('text').attr('style','color:#333333;cursor:not-allowed;font-size:12px;font-weight:bold;fill:#333333;');}return  this.name;}
},

结果:

如下图所示,数据为0时,图例的左边小圆点呈现灰色哟~

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/57679.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XCL-Charts图表库简要教程及常见问题

这个Andriod图表库项目从开始至现在&#xff0c;热情消耗几近殆尽。还好已基本实现我想做的那些东西。趁还剩下点兴趣&#xff0c;把一些点非常简单的归纳一下。 所支持的图表类型: 基类 图表名称 BarChart 横/竖向柱形图及背向式柱…

使用Google Chart API 创建实时图表

实时图表可以实时显示数据。这意味着数据将永久更新以始终显示当前图表。要创建实时图表&#xff0c;我们使用JavaScript和Google Chart API。 这些实时图表通常用于仪表板中&#xff0c;以显示例如温度或价格的变化情况。应用领域多样&#xff0c;它们看起来确实不错。你自己看…

利用ARCGIS实现图片与excel中坐标点的匹配并绘图

一、背景 本次的实验完成的是坐标点文件与图片的匹配&#xff0c;已有的数据分别是点的坐标excel文件以及区域图片&#xff0c;来实现区域的绘制。 二、步骤 1、首先将坐标点excel文件导入ARCGIS中进行展点&#xff0c;数据的格式如下&#xff1a; 2、点击ARCGIS界面中的文件…

chatgpt赋能Python-python_plot坐标轴

Python绘图库中坐标轴的设置 介绍 Python是一种简单易学&#xff0c;功能强大的编程语言。它被广泛用于数据科学和可视化领域。Python绘图库中的坐标轴设置可以让我们更好地展示数据&#xff0c;让我们更轻松地理解数据。本篇文章将介绍Python绘图库中坐标轴设置的方法和技巧…

Unity数据可视化图表插件XCharts(折线图、柱状图、饼图、雷达图、散点图、热力图、热力图、仪表盘、环形图、极坐标、水位图等等)

文章目录 一、前言二、Unity数据可视化图表插件&#xff1a;XCharts1、运行效果2、文档教程 三、结束语 一、前言 点关注不迷路&#xff0c;持续输出Unity干货文章。 嗨&#xff0c;大家好&#xff0c;我是新发。 今天&#xff0c;我在GitHub上看到一个屌炸天的Unity插件&…

pyecharts0.5.x制作含地图的数据看板

引言 pyecharts作为Python的数据可视化包&#xff0c;其强大的功能不言而喻&#xff0c;Python Echart&#xff0c;想想就觉得牛叉。目前pyecharts有两个大的版本&#xff0c;一个是0.5.x版本的&#xff0c;一个是1.0以后版本&#xff0c;而且这两个版本差别很大。如果是有的…

antv/g2图表tooltip自定义并展示坐标之外的数据

首先使用itemTpl自定义tooltip 效果是这样的tooltip展示坐标之外的数据 感觉Antv文档很不详细&#xff0c;写这块时找了好久才找到方法&#xff0c;现在记一下&#xff0c;方便今后的观看和其他遇到此问题的同学解决办法。 itemTpl this.chart.tooltip({showCrosshairs: true,…

pyecharts源码解读(13)图表类包charts之组合图表:直角坐标系(网格布局)Grid

当前pyecharts的版本为1.9.0。 概述 pyecharts/charts/composite_charts/包中的四个模块分别定义了组合图表类&#xff0c;其中pyecharts/charts/composite_charts/grid.py模块只定义了网格布局类Grid。 Grid类继承自图表基类Base&#xff0c;作用为在一个echarts实例中利用…

宇宙中大数字

1、高德纳箭头 2、葛力函数 如果脑子里面装一个葛里恒数&#xff0c;脑子就成了黑洞了。 后来人们研究出tree3

CCF-CSP 小中大 C语言

时间限制&#xff1a;0.1s 空间限制&#xff1a;512.0MB #include<stdio.h> int main() { int n,max,min,mid,midd,i; scanf("%d",&n); int a[n]; for(i0;i<n;i) {scanf("%d",&a[i]);} //输入 if(a[0]>a[n-1]){maxa[0];mina[n-1];} e…

redis中大Value问题的解决

我们日常在使用redis的时候, 有时会碰到大Value的问题, 超级大的一个Value存到redis中去, 这样其实不好, 我们可以把value进行压缩. 下面我们使用java自带的压缩, 对字符串进行压缩. /*** 使用gzip压缩字符串** param originString 要压缩的字符串* return 压缩后的字符串*/…

java中大素数生成算法

目前的公开密钥 算法大部分基于大整数分解、有限域上的离散对数问题和椭 圆曲线上的离散对数问题&#xff0c;这些数学难题的构建大部分都需 要生成一种超大的素数&#xff0c;尤其在经典的RSA算法中&#xff0c;生成的素数的质量对系统的安全性有很大的影响。 1.原理 费马小…

解决js中大数的问题

大数的理解: 就是由于数字太大了,然后js解析不了,不认识. 就比如实际生活中,在双11的时候,我们知道淘宝一夜之间总购买量肯定是一个很大很大的金额,当我们前端碰到一个非常大的数字的时候,js可能会解析不了. JS中的安全数字: > Number.MAX_SAFE_INTEGER 可以查看js中的…

CSP 201903-1 小中大

题目链接&#xff1a; 计算机软件能力认证考试系统http://118.190.20.162/view.page?gpidT89 【分析】主要学一下java的四舍五入&#xff0c;String,format("%.f", double&#xff09;&#xff1b; import java.util.Arrays; import java.util.Scanner;public cla…

CSP:小中大

试题编号&#xff1a;201903-1 试题名称&#xff1a;小中大 时间限制&#xff1a;1.0s 内存限制&#xff1a;512.0MB 思路&#xff1a;题目很简单&#xff0c;依次输出最大值&#xff0c;中位数&#xff0c;最小值。输出中位数的时候很神奇的出错。。。费了好半天事才改对。…

ccf小中大

试题编号&#xff1a;201903-1试题名称&#xff1a;小中大时间限制&#xff1a;1.0s内存限制&#xff1a;512.0MB问题描述&#xff1a; 思路很简单&#xff0c;但是有很多细节要考虑 如果中位数是小数&#xff0c;则要四舍五入&#xff0c;保留一位小数 否则直接输出整…

Spring中大事务拆分方案

Spring中大事务拆分方案 模块设计的时序图 启动流程 激活事件 完成事件 长事务造成的影响 由于现在事件的完成及后续激活都在一个事务中&#xff0c;比如完成融资申请事件之后会去激活批次启动签约&#xff0c;前置协议&#xff0c;资质认证等事件&#xff0c;这些操作…

AI 将完全取代前端开发吗?

注&#xff1a;今晨&#xff0c;我浏览 Medium&#xff0c;看到了篇颇为标题党的文章&#xff0c;于是我就将它抛给了 ChatGPT。本篇文章全部由 ChatGPT 所写。同时&#xff0c;我也请 ChatGPT 分享了它对此的观点。 最近&#xff0c;我的同事向我讲述了他与他老板的一次谈话。…

全网多种方法解决未连接到互联网 代理服务器出现问题,或者地址有误的错误

文章目录 1. 复现错误2. 分析错误3. 解决错误4. 解决该错误的其他方法5. 补充说明 1. 复现错误 今天&#xff0c;单位的实习生准备下载公司的代码&#xff0c;由于公司的代码放在gitlab上&#xff0c;需要内网才能登录gitlab。 而登陆内网需借助Hillstone Secure Connect&…

【实战篇】37 # 如何使用 QCharts 图表库绘制常用数据图表?

说明 【跟月影学可视化】学习笔记。 QCharts 图表库 QCharts 是一个基于 spritejs 封装的图表库&#xff0c;可以让用户以组件的形式组合出各种图表&#xff1a;https://www.qcharts.cn/#/home QCharts 图表的基本用法 最简单的方式是&#xff0c;直接通过 CDN&#xff0c;…