news 2026/4/21 23:29:34

Dashboards 集成 Highcharts 图标组件及数据连接使用说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Dashboards 集成 Highcharts 图标组件及数据连接使用说明

Highcharts 图表组件

HighchartsComponent( Highcharts 组件)允许最终用户在仪表盘中定义图表。 图表通常用于可视化变化的数据。

如何开启

我们需要按照以下顺序加载 JavaScript 和 CSS 文件以开始使用。

1.导入

要使用 Highcharts 组件,首先像往常一样加载 Highcharts ,然后加载 Dashboards 以将它们绑定在一起。

导入的顺序非常重要,因此请确保在导入 Highcharts 模块之后再导入 Dashboards 模块。

<scriptsrc="https://code.highcharts.com/highcharts.js"></script><scriptsrc="https://code.highcharts.com/dashboards/dashboards.js"></script><scriptsrc="https://code.highcharts.com/dashboards/modules/layout.js"></script>

你也可以使用 NPM 包。

npminstallhighcharts

然后,导入包和专用插件以将其连接到仪表盘。

import*asHighchartsfrom'highcharts';import*asDashboardsfrom'@highcharts/dashboards';importLayoutModulefrom'@highcharts/dashboards/modules/layout';LayoutModule(Dashboards);Dashboards.HighchartsPlugin.custom.connectHighcharts(Highcharts);Dashboards.PluginHandler.addPlugin(Dashboards.HighchartsPlugin);

2. CSS

从版本 v3.0.0 开始,Highcharts 组件默认不使用 styledMode ,因此无需加载一整套 CSS 样式来正确显示 Highcharts。只导入 Dashboards 的 CSS 文件就足够了:

@importurl("https://code.highcharts.com/dashboards/css/dashboards.css");

您可以随时通过将styledMode选项设置为true来启用样式模式,并根据 Highcharts s样式指南 进行样式设置。

3.单元格标识符

在加载必要的文件后,使用唯一标识符定义一个单元格,例如renderTo: 'dashboard-col-0'.

您可以在仪表盘的 这里 找到有关创建布局的更多信息。

4. 图表选项

chartOptions对象中声明所有图表选项。 有关可用选项的完整列表,请参阅 Highcharts API

chartOptions:{series:[{data:[1,2,3,4]}]}

5. 图表类型

您只需在组件的配置中指定type: 'Highcharts'即可。

下面是完整示例。

Dashboards.board('container',{gui:{layouts:[{id:'layout-1',rows:[{cells:[{id:'dashboard-col-0'}]}]}]},components:[{renderTo:'dashboard-col-0',type:'Highcharts',chartOptions:{series:[{data:[1,2,3,4]}]}}]});

处理数据

您可以定义静态数据,就像在基本的Highcharts图表中一样,或者使用 dataPool 连接一些动态数据。
示例.

如果数据连接器已连接,您可以加载 Highcharts 的dragDrop模块,允许用户更改数值并将这些更改与其他组件同步。此外,如果系列数据基于连接器中的列(由mathModifier创建),默认情况下编辑功能是禁用的。您可以在dataPool部分了解更多相关信息。

使用 数据连接器DataConnector的示例。

Dashboards.board('container',{dataPool:{connectors:[{id:'Vitamin',type:'CSV',options:{csv:`Food,Vitamin A,Iron Beef Liver,6421,6.5 Lamb Liver,2122,6.5 Cod Liver Oil,1350,0.9 Mackerel,388,1 Tuna,214,0.6`,},}]},gui:{layouts:[{id:'layout-1',rows:[{cells:[{id:'dashboard-col-0'}]}]}]},components:[{renderTo:'dashboard-col-0',type:'Highcharts',connector:{id:'Vitamin'},chartOptions:{title:{text:'Example chart'}}}]});

将列数据分配给系列数据

可以通过 columnAssignment 选项解析数据,将连接器中的正确值映射出来,以在系列中反映。你还可以声明哪些列将作为点的参数。这对于像OHLC、蜡烛图、列范围或排列等系列非常有用。seriesId字段是正确显示系列(例如在图例中)的必需项。 以下是示例Here。

data选项可以接受三种不同的类型:

1.string一维

包含一维数据的列名。

columnAssignment:[{seriesId:'mySeriesId',data:'myData'}]

2.string[ ]二维

Names of the columns that data will be used in the two-dimensional format.

columnAssignment:[{seriesId:'mySeriesId',data:['myX','myY']}]

3.Record<string, string>

具有系列数据键名的键和将用于键定义的二维系列数据的列名的对象。

columnAssignment:[{seriesId:'myStockSeriesId',data:{x:'myX',open:'myOpen',high:'myHigh',low:'myLow',close:'myClose'},},{seriesId:'myColumnSeriesId',data:{name:'myNamesColumn',y:'myYColumn','dataLabels.style.visibility':'myDataLabelVisibilityColumn'}}]

多个连接器

The Highcharts Component also supports more than one data source. Therefore, the connector option must be configured as an array of objects rather than a single object.

Code sample:

components:[{type:'Highcharts',connector:[{id:'connector-1',columnAssignment:[...]},{id:'connector-2',columnAssignment:[...]}]}]

组件同步

其中一个Highcharts组件的众多可用选项之一是sync同步选项,它允许设置组件状态之间的同步。你可以在sync 同步文章中找到更多相关信息

同步可以是一个配置对象,包含:highlight,visibility,extremes,它们允许通过传递值truefalse来启用或禁用同步类型。

以下是sync同步类型的演示:See demos of types below:

  • Extremes Sync 极限同步
  • Highlight Sync 高亮同步
  • Visibility Sync 可见性同步

高亮同步选项

同步高亮可以有额外的选项:

sync:{highlight:{enabled:true,affectedSeriesId:'series-1',highlightPoint:true,showTooltip:false,showCrosshair:true}}

如果你想强制突出显示同步始终影响某个特定系列,可以在参数中使用affectedSeriesId选项,并指定该系列的ID。当未定义、为空或设置为null时,选项的分配将默认基于悬停的列和列的分配。

如果你想确定图表上重点显示的方式(即是否应为标记设置悬停状态,是否应同步十字光标,以及是否应显示工具提示),请使用highlightPoint,showCrosshairshowTooltip选项。详细内容请参阅 API 文档 API docs。

API 选项

有关所有可用选项的完整列表,请参阅 API.

Highcharts 兼容性

Highcharts 组件与版本10及以上的所有Highcharts模块兼容。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 13:15:52

3分钟配置Open-AutoGLM!非Root手机自动化操作速成教程

第一章&#xff1a;Open-AutoGLM简介与非Root环境适配Open-AutoGLM 是一个开源的自动化通用语言模型集成框架&#xff0c;专为在资源受限及无 Root 权限的设备上部署和运行大语言模型而设计。其核心目标是在不牺牲性能的前提下&#xff0c;实现跨平台、低权限环境下的模型推理与…

作者头像 李华
网站建设 2026/4/17 18:41:07

niri工作区监控与Waybar集成:打造智能桌面管理生态

niri工作区监控与Waybar集成&#xff1a;打造智能桌面管理生态 【免费下载链接】niri A scrollable-tiling Wayland compositor. 项目地址: https://gitcode.com/GitHub_Trending/ni/niri 还在为Wayland环境下工作区状态同步问题而困扰吗&#xff1f;niri compositor与Wa…

作者头像 李华
网站建设 2026/4/19 1:37:18

云存储数据安全保护:你的企业数据真的安全吗?

云存储数据安全保护&#xff1a;你的企业数据真的安全吗&#xff1f; 【免费下载链接】s3proxy Access other storage backends via the S3 API 项目地址: https://gitcode.com/gh_mirrors/s3/s3proxy 在数字化浪潮席卷各行各业的今天&#xff0c;企业数据安全面临着前所…

作者头像 李华
网站建设 2026/4/18 12:06:22

FaceFusion能否用于罪犯模拟画像生成?公安刑侦辅助工具

FaceFusion能否用于罪犯模拟画像生成&#xff1f;公安刑侦辅助工具 在城市监控摄像头数量突破亿级的今天&#xff0c;破案的关键往往不再是没有线索&#xff0c;而是如何从成千上万帧模糊画面、零碎片段和目击者模糊描述中还原出一个“真实可辨”的人脸。尤其是在跨省流窜作案、…

作者头像 李华