news 2026/2/27 9:34:38

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/2/20 4:07:29

基于Django的视频论坛系统的设计与实现(源码+lw+远程部署)

目录&#xff1a; 博主介绍&#xff1a; 完整视频演示&#xff1a; 系统技术介绍&#xff1a; 后端Java介绍 前端框架Vue介绍 具体功能截图&#xff1a; 部分代码参考&#xff1a; Mysql表设计参考&#xff1a; 项目测试&#xff1a; 项目论文&#xff1a;​ 为…

作者头像 李华
网站建设 2026/2/21 17:03:31

FaceFusion在心理治疗中的辅助作用研究设想

FaceFusion在心理治疗中的辅助作用研究设想 在临床心理干预实践中&#xff0c;一个长期存在的难题是&#xff1a;许多患者——尤其是儿童、创伤幸存者或社交障碍个体——难以通过语言准确表达内在情绪与自我认知。传统的谈话疗法依赖于言语叙述&#xff0c;但当一个人连“我是谁…

作者头像 李华
网站建设 2026/2/26 10:48:14

KCP协议:重新定义实时传输的游戏规则

KCP协议&#xff1a;重新定义实时传输的游戏规则 【免费下载链接】kcp KCP —— 这是一种快速且高效的自动重传请求&#xff08;Automatic Repeat-reQuest&#xff0c;简称ARQ&#xff09;协议&#xff0c;旨在提高网络数据传输的速度和可靠性。 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/2/21 7:37:19

解锁机器学习全流程:一站式开发环境ML Workspace深度体验

机器学习工作空间&#xff08;ML Workspace&#xff09;是一个革命性的Web-based集成开发环境&#xff0c;专门为数据科学家和机器学习工程师量身打造。这个强大的平台集成了从数据处理、模型训练到部署监控的全套工具链&#xff0c;让复杂的数据科学任务变得简单高效。无论你是…

作者头像 李华
网站建设 2026/2/22 1:38:42

【限时干货】从入门到精通Open-AutoGLM:无代码自动化落地的6大核心要点

第一章&#xff1a;Open-AutoGLM无代码自动化初探Open-AutoGLM 是一个面向自然语言处理任务的开源无代码自动化框架&#xff0c;旨在降低大模型应用开发门槛。通过可视化界面与智能流程编排&#xff0c;用户无需编写代码即可完成从数据预处理到模型部署的全流程操作。核心特性 …

作者头像 李华
网站建设 2026/2/22 7:57:20

7天深度掌握C++编程:Accelerated C++实战进阶指南

7天深度掌握C编程&#xff1a;Accelerated C实战进阶指南 【免费下载链接】AcceleratedC中文英文两版高清下载介绍 Accelerated C 是一本备受推崇的编程书籍&#xff0c;专为具备C或C基础的读者设计&#xff0c;旨在快速提升编程水平。通过高效的讲解方式&#xff0c;本书深入浅…

作者头像 李华