「实战应用」如何用图表控件LightningChart创建JS堆叠条形图?

发布时间:2026/11/5 23:05:16

「实战应用」如何用图表控件LightningChart创建JS堆叠条形图? LightningChart JS是Web上性能特高的图表库具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用从而实现高刷新率和流畅的动画常用于贸易工程航空航天医药和其他领域的应用。LightningChart JS提供了堆叠条形图用于轻松创建具有可定制功能的数据应用程序。JavaScript堆叠条形图当看到来自不同类别或彼此值的大量数据时堆叠条形图非常有用。我们可以看到一个类别是如何被分成几个部分的从最大到最小的部分相对于总量堆叠条形图有两种类型简单的堆叠条形图将每个值连续地放在一个段中条形图的总价值就是该段的总价值它是比较片段之间总数量的理想方法。100%堆叠条形图显示了每个细分市场中每个类别的总百分比并用每个值占该细分市场总数量的百分比表示这使得我们更容易看到各组数量的百分比差异。根据数据分析的目标我们可以根据可视化需求评估每个数据的有用性。在这种情况下JavaScript堆叠条形图对于任何类型的用户来说都很容易理解。JavaScript堆叠条形图的另一个特性是以多色条形显示数据其中每个条形代表一个主要类别每种颜色代表一个次要维度这使我们能够方便地查询每个段类别的次要维度及其关系之间的关系。项目概述在本文中我们将解释100%堆叠条形图并使用LightningChartJS和Node JS创建堆叠条形图。请记住您可以下载这个项目的模板并试用它直接戳这里模板设置1. 下载提供的模板来学习本教程。2. 下载模板后您会看到如下的文件树3. 打开一个新终端运行npm install命令。CHART.ts今天最新的版本是​​​​​​​LightningChartJS 5.1.0和XYData 1.4.0建议您查看最新版本就并进行更新因为一些LightningChart JS工具在以前的版本中不存在。在项目的package.json文件中你可以找到LightningChart JS依赖项dependencies: { arction/lcjs: ^5.1.0, arction/xydata: ^1.4.0, webgl-obj-loader: ^2.0.8, }1. 导入库我们将从导入创建图表所需的库开始。// Import LightningChartJS const lcjs require(arction/lcjs) const { lightningChart, BarChartSorting, LegendBoxBuilders, Themes } lcjs2. 添加许可密钥(免费)安装LightningChart JS库之后我们将把它们导入到chart.ts文件中注意您将需要试用许可证这是免费的。然后将其添加到一个变量中该变量将用于创建JavaScript堆叠条形图对象。let license undefined try { license xxxxxxxxxxxxx } catch (e) {}3. 属性LightningChartJS为您提供了完全自定义图表对象属性的可能性将使用以下属性来创建这个JavaScript堆叠条形图const barChart lightningChart({license: license}) .BarChart({ theme: Themes.cyberSpace, }) .setTitle(% of market share by mobile OS in 1999-2021) .setValueLabels(undefined) .setCursorResultTableFormatter((builder, category, value, bar) { builder.addRow(OS:, bar.subCategory).addRow(Share:, String(value), %) return builder })– Theme定义JavaScript堆叠条形图的外观和感觉注意您必须事先指定图表组件的颜色主题。–setCursorResultTableFormatter当光标指向本系列时配置光标悬停结果表的格式结果表将显示为一个带有数据值的弹出框。每一行被生成为一行(.addrow)我们可以用需要的文本对其进行格式化。子类别和值属性对应于分配给图表的数据。子类别包含图表的类别或分组的名称Value包含按类别堆叠的每个条的值。.setCursorResultTableFormatter((builder, category, value, bar) { builder.addRow(OS:, bar.subCategory).addRow(Share:, String(value), %)4. 类别和堆叠栏要将类别和堆叠条形图添加到JavaScript堆叠条形图中我们将使用setdatastack函数这个函数允许添加水平轴分组和属于每个分组的类别。值数组中的值将按照其连续顺序对应于分组例如值51将对应于组2004每个类别将堆叠在另一个类别之上但值将根据其位置和匹配组进行排序。barChart.setDataStacked( [1999, 2004, 2009, 2014, 2019, 2021], [ { subCategory: Symbian OS, values: [1, 51, 43, 0, 0, 0] }, { subCategory: Palm OS, values: [66, 18, 1, 0, 0, 0] }, { subCategory: BlackBerry OS, values: [1, 7, 20, 0.5, 0, 0] }, { subCategory: Windows Mobile, values: [20, 13, 7, 2, 0, 0] }, { subCategory: iOS, values: [0, 0, 15, 19, 14, 27] }, { subCategory: Android, values: [0, 0, 8, 77, 82, 72] }, { subCategory: Other, values: [12, 11, 6, 1.5, 4, 1] }, ], )5. LegendBox最后我们将添加图例框通过颜色指示类别并在单击它们时隐藏想要的类别。const legend barChart .addLegendBox(LegendBoxBuilders.VerticalLegendBox) .setAutoDispose({ type: max-width, maxWidth: 0.3, }) legend.add(barChart)图例框可以横向和纵向添加此图例框可以在满足条件时自动删除例如超过相对于图表大小的最大宽度当图表分辨率太小或当图表太大时释放内存时这很有用。6. 初始化图表最后在终端中运行npm start命令来可视化本地服务器上的JavaScript堆叠条形图。结论JavaScript堆叠条形图是一种帮助我们更有效地可视化数据的资源因为它能够轻松地表示复杂的数据集。即使这种类型的图表可能并不总是在所有仪表板报告中使用或看到它也是简化按组或类别显示大量数据的一个很好的资源。在这种情况下​​​​​​​LightningChart JS为我们提供了一个简单实用的图表组件JavaScript堆叠条形图同样我们不必过于担心用于开发图表应用程序的代码。只需向我们的对象提供一个数据数组就可以创建带有所有动画和可用控件的JavaScript堆叠条形图:barChart.setDataStacked( [1999, 2004, 2009, 2014, 2019, 2021], [ { subCategory: Symbian OS, values: [1, 51, 43, 0, 0, 0] }, { subCategory: Palm OS, values: [66, 18, 1, 0, 0, 0] }, { subCategory: BlackBerry OS, values: [1, 7, 20, 0.5, 0, 0] }, { subCategory: Windows Mobile, values: [20, 13, 7, 2, 0, 0] }, { subCategory: iOS, values: [0, 0, 15, 19, 14, 27] }, { subCategory: Android, values: [0, 0, 8, 77, 82, 72] }, { subCategory: Other, values: [12, 11, 6, 1.5, 4, 1] }, ], )
延伸阅读

更多相关文章

2026/11/4 23:13:24

TIDE部署指南:从本地开发到生产环境的完整流程

TIDE部署指南:从本地开发到生产环境的完整流程 【免费下载链接】tide A General Toolbox for Identifying Object Detection Errors 项目地址: https://gitcode.com/gh_mirrors/tide1/tide TIDE(Toolbox for Identifying Object Detection Errors…

2026/10/28 16:07:00

Three.js 模型边框教程

模型边框 Model Border ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 OrbitControls 相机轨…

2026/11/5 16:51:33

EasyU优启通PE维护盘实战指南:制作、启动与核心操作全解析

1. 为什么一个PE维护盘值得单独拿出来聊装系统、修引导、救数据、清病毒,这些活儿但凡干过几次的人都知道,真正决定效率的往往不是你手速多快,而是手边那套PE环境靠不靠谱。EasyU(圈内习惯叫优启通)就是在这个场景下被…

2026/11/5 16:26:13

Rust原来很简单二:所有权系统

Part 2 核心篇 —— 所有权系统 本篇覆盖 第 6 ~ 10 章:所有权、借用与引用、生命周期、字符串与切片、内存模型。 ⚠️ 这是全书最重要的一篇。 把它吃透,Rust 从此“很简单”;跳过它,你会处处碰壁。请慢下来,动手敲每一段代码。 第 6 章 所有权:Rust 的第一性原理 6…

2026/11/5 15:00:49

基于Hadoop+Spark的民宿智能推荐系统设计与实现

1. 项目概述:大数据时代的民宿智能推荐这个毕业设计项目融合了当前大数据领域最主流的技术栈,构建了一个完整的民宿推荐系统解决方案。作为一名长期从事大数据系统开发的工程师,我认为这个选题非常贴合实际应用场景——随着旅游业的复苏和共享…

2026/11/5 14:10:30

ADS122U04IPWR+STM32F427ZI工业级温度测量信号链设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 14:10:30

UART接口24位ADC搭配RS485,解决远距离温度监控难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 14:10:30

UART接口24位ADC搭配PIC18F46K22的RTD与热电偶测温实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑