如何使用 LightningChart 创建 JavaScript 散点图?

news2024/11/23 5:03:31

LightningChart JS是一款高性能的JavaScript图标库,专注于实时数据可视化,以“快如闪电”享誉全球,是Microsoft Visual Studio数据展示速度最快的2D和3D图表制图组件,可实时呈现超过10亿数据点的海量数据。

LightningChart .JS | 下载试用

本文将带来如何使用 LightningChart 创建 JavaScript 散点图,主要从2个方面讲解,一是LightningChart JS XY 图表的功能应用,二是讲解如何使用 LightningChart JS 创建嵌入式散点图并向其添加自定义交互功能。

这个图表将可视化一个XY坐标列表和一个自定义属性,这些自定义属性可以与UI文本元素一起显示,实现与用户的鼠标操作互动。

什么是散点图?

散点图或散点图是一种数学可视化,其目的是直观地表示两个数字变量之间的相关关系。其中相关性是指在散点图中变量间的比较,可以通过散点图看到一定的相关性

由于该图使用笛卡尔坐标来直观表示两个变量,每个变量在每个轴 (X, Y) 上一个,如果变量相关,则点将形成一条线。

那么,什么时候会使用散点图呢?通常情况下,当有两个定量变量且因变量对其自变量的每一个值都有几个值时,就会使用这种类型的图表。

如何创建散点图?

该图表将使用 LightningChart for JavaScript 创建,您可以访问 LightningChart JS 网站了解更多信息。

使用 LightningChart JS 创建散点图非常简单,下面是一个简单的代码片段,它可以帮助您:

  • 创建 XY 图表。

  • 创建点系列。

  • 使用包含 100 个项目的随机生成的数据集填充该系列。

const chart = lightningChart().ChartXY()

const pointSeries = chart.addPointSeries()

pointSeries.add(new Array(100).fill(0).map(() => ({

x: Math.random(),

y: Math.random()

})))

将自定义属性附加到数据点

在为 Lightning Chart JS 提供数据时,我们采用了 JavaScript 对象的格式,它允许任意数量的键:值组合。在前面的代码片段中,我们看到了创建具有 X 和 Y 属性的 JavaScript 对象:

const point = { x: 0, y: 0 }

添加自定义数据点属性就像人们猜测的那样简单:在 x 和 y 之后添加它们:

const point = { x: 0, y: 0, custom: 'abcdefg' }

然后可以将这些自定义属性与数据游标、从鼠标位置求解数据点等一起使用。在本示例中,我们将它们与 UI 文本元素一起使用。

如何添加交互式 UI 文本元素?

接下来,我们将在每个散点坐标旁边添加标签。这些将显示自定义数据点属性,并在用户将鼠标移近时激活。

此代码添加一个标签,将其放置在数据点旁边,并将其设置为显示数据“自定义”属性中的文本。

const label = chart.addUIElement(

UIElementBuilders.TextBox,

{ x: xAxis, y: yAxis }

)

label

.setPosition(point)

.setMargin({ bottom: 10 })

.setText(point.custom)

我们还可以在这里做一个小标识,这对我们以后的工作会有很大帮助。让我们为数据点添加另一个自定义属性--UI文本元素。

point.label = label

最后一步是跟随用户的鼠标移动并通过将其着色为纯白色来激活最近的数据点。

当用户将鼠标移动到数据点时,颜色标签将变为白色

chart.onSeriesBackgroundMouseMove((_, event) => {

const nearestDataPoint = pointSeries.solveNearestFromScreen(chart.engine.clientLocation2Engine(event.clientX, event.clientY))

if (nearestDataPoint) {

label.setFillStyle(new SolidFill({ color: ColorRGBA(255, 255, 255) }))

}

})

结果

这是嵌入图表的最终结果。单击嵌入式图表右上角的图标,可以在 GitHub 中找到完整的源代码。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络舆情监测服务系统技术说明,日常网络舆情监测记录?

随着互联网快速发展,网络舆情监测服务系统技术可以实现对互联网信息的全面监控,具备敏感词监控、图片识别、预警推送、舆情浏览、综合分析、事件分析、小视频监测等功能。接下来TOOM舆情监测带您简单了解网络舆情监测服务系统技术说明,日常网…

云开发 | 云数据库的创建及其增删改查

前言 虽然说微信云开发开始收费了,不过使用起来确实方便,针对于数据量不大,轻量级的小程序应用来说,云开发包含云数据库、云函数、云存储这三大功能,使用云开发完全可以进行独立开发,甚至不需要依赖于后端。…

worepress 优化记录

关闭评论和头像禁用不必要的插件参加插件。背字根/WordPress小工具 - 码云 - 开源中国 (gitee.com)smalltool 文件夹上传到 /wp-content/plugins/smalltool 下使用缓存WP RocketWP火箭- 帮助提高页面加载速度并减少服务器负载。 高下载速度,反过来,降低了…

数据结构教程

数据结构教程数据结构数据结构与算法为什么要学习数据结构和算法?阅读本教程前,您需要了解的知识?常见的数据结构常用算法插入排序希尔排序归并排序随机机化快速排序双路快速排序三路排序算法排序算法衍生问题堆堆的基本存储堆的 shift up堆的…

DAISY : Linux 上可服务于视力缺陷者的福音

导读如果你是盲人或像我一样有视力障碍,你可能经常需要各种软硬件才能做到视觉正常的人们视之为理所当然的事情。这其中之一就是阅读的印刷图书的专用格式:布莱叶盲文(Braille)(假设你知道怎样阅读它)或特殊…

ThinkPHP 加载自定义扩展文件

很久没有用过TP了,自定义扩展文件怎么加载的都不太清楚了,重新捋一遍,记录一下。 ThinkPHP版本 ^6.1.0 目录 1.将自定义扩展文件放入extend 2.设置类文件命名空间 extend下直接是类文件,不需设置命名空间 有层级的类文件&…

回顾2022,展望2023

文章目录初来乍到为什么是CSDN期间期间文章新年愿望初来乍到 额(⊙﹏⊙),要从何说起呢? 我看了一下,写这篇文章时正好是我来到CSDN这个大家庭的75天,对于我而言75天说长不长,说短也不短。75天相比于CSDN中的前辈们来…

SpringBoot+VUE前后端分离项目学习笔记 - 【10 Vue实现增删改查】

vue安装axios: npm i axios -S 前端代码 request.js封装 新建utils/request.js import axios from axiosconst request axios.create({baseURL: http://localhost:9090/,timeout: 5000 })// request 拦截器 // 可以自请求发送前对请求做一些处理 // 比如统一…

磷脂聚乙二醇葡萄糖 DSPE-PEG-Glucose简介;脂质体表面进行聚乙二醇修饰;DSPE-PEG-葡萄糖

中文名称 磷脂聚乙二醇葡萄糖 葡萄糖聚乙二醇磷脂 简称 DSPE-PEG-Glucose Glucose-PEG-DSPE 分子量 2000/3000/3400/40005000/10000 溶剂 溶于部分常规有机溶剂 存储条件 -20冷冻保存,惰性气体保护 结构式 化学…

JVM面试题详解系列——垃圾收集器详解

垃圾收集器 Serial 收集器(GC日志标识:DefNew) Serial(串行)收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一个单线程收集器了。 它的 “单线程” 的意义不仅仅意味着它只会使用一条垃圾…

Windows 卡顿问题整理

右键卡顿 1 开始,运行,输入regedit,打开注册表; 找到注注册表项:HKEY_CLASSES_ROOT/Directory/Background/shellex/ContextMenuHandlers 。 系统一般有 5 个 Key:留下 New,其他删除,…

统计大写字母-C语言实现

任务描述 本关任务:统计大写字母个数。 相关知识 视频1 初识文本处理之单词计数II — C 语言的逻辑运算符 逻辑运算符 C 语言定义了3个逻辑运算符,其表示方法及含义如下表所示。 逻辑运算C语言符号表示说明与&&双目运算符,若两个…

九 深度剖析数据在内存中的存储

目录 一.整形在内存中的存储 1.原码,反码,补码 (1)正数的原反补码 (2)负数的原反补码 2.大小端介绍 二.浮点型在内存中的存储 1.浮点型的存储 2.浮点型的读取 一.整形在内存中的存储 1.原码&#…

【学习】RL

sparse reward我们不知道行动是好是坏,大多数情况下,如果r 0,那怎么解决呢?例如,机器人手臂将螺栓固定在螺丝上,开发人员应该定义额外奖励来指导代理(reward shaping)。reward shap…

PyFlink使用说明:建表及连接Mysql数据库

PyFlink1.16.0 使用说明:建表及连接Mysql数据库引言安装运行环境PyFlink创建作业环境一、创建一个 Table API 批处理表环境二、创建一个 Table API 流处理表环境三、创建一个 DataStream API 数据流处理环境PyFlink建表一、从Python List对象创建一个 Table二、创建…

尚硅谷-SpringSecurity

一、SpringSecurity是什么 SpringSecurti基于Spring框架,提供了一套Web应用安全性的完整解决方案 一般来说,Web应用的安全性包括用户认证(Authenticataion)和用户授权(Authorization)两个部分 这两点也是S…

【2023程序员必看】产品经理行业分析

今天我要给大家推荐一个政策好,薪酬高,发展好,门槛低,且容易实现CEO总裁梦的岗位。当当当当当~产品经理,不用写代码的高薪互联网岗位! 接下来我们就来聊聊它的政策机会,职业前景与薪资待遇&…

mac无法启用443端口的解决方案

前言:在macOS中,对于1024以下的端口需要使用root权限才可以使用,因此在mac中启动本地的vue-cli项目的时候,端口443无法正常使用,即使在配置文件中配置了443端口,启动项目的时候,仍然会是1024端口…

良品铺子:金选年货礼盒里,装着“高端零食”的初心

撕下一页日历,春节的脚步越来越近。自古以来,置办年货就是过年不可或缺的环节,年货中包含着浓浓的年味。“农家腊月为食忙,转换时空去品尝,腊菜藏于坛子里,鲜鱼养在自家塘,粉丝豆泡鸡汤热&#…

node实现文件上传和下载

一、node实现文件上传 1. FormData对象:以对象的方式来表示页面中的表单,又称为表单对象。以key-value的方式来保存数据,XMLHttpRequest对象可以轻松地将表单对象发送到服务器端 ​ (1)是一个构造函数:ne…