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

Highcharts 图表组件

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

如何开启

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

1.导入

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

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

html 复制代码
    <script src="https://code.highcharts.com/highcharts.js"></script>
    <script src="https://code.highcharts.com/dashboards/dashboards.js"></script>
    <script src="https://code.highcharts.com/dashboards/modules/layout.js"></script>

你也可以使用 NPM 包。

bash 复制代码
    npm install highcharts

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

typescript 复制代码
    import * as Highcharts from 'highcharts';
    import * as Dashboards from '@highcharts/dashboards';
    import LayoutModule from '@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 文件就足够了:

css 复制代码
    @import url("https://code.highcharts.com/dashboards/css/dashboards.css");   

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

3.单元格标识符

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

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

4. 图表选项

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

js 复制代码
    chartOptions: {
        series: [{
            data: [1, 2, 3, 4]
        }]
    }

5. 图表类型

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

下面是完整示例。

js 复制代码
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的示例。

js 复制代码
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 一维

包含一维数据的列名。

js 复制代码
columnAssignment: [{
    seriesId: 'mySeriesId',
    data: 'myData'
}]

2. string[ ] 二维

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

js 复制代码
columnAssignment: [{
    seriesId: 'mySeriesId',
    data: ['myX', 'myY']
}]

3. Record<string, string>

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

js 复制代码
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:

js 复制代码
components: [{
    type: 'Highcharts',
    connector: [{
        id: 'connector-1',
        columnAssignment: [ ... ]
    }, {
        id: 'connector-2',
        columnAssignment: [ ... ]
    }]
}]

组件同步

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

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

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

高亮同步选项

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

js 复制代码
sync: {
    highlight: {
        enabled: true,
        affectedSeriesId: 'series-1',
        highlightPoint: true,
        showTooltip: false,
        showCrosshair: true
    }
}

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

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

API 选项

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

Highcharts 兼容性

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

相关推荐
Highcharts.js6 天前
Highcharts Gantt使用符号的自定义数据标签开发甘特图示例
javascript·甘特图·highcharts·图表开发·实战代码·响应式图表
Highcharts.js6 天前
智能数据分析组件Orbit 正式发布与快速上手体验教程
前端·人工智能·信息可视化·数据分析系统·highcharts·orbit·智能可视化
Highcharts.js6 天前
React 中原生支持使用 JSX 组件配置自定义表格 Highcharts Grid
前端·javascript·react.js·前端框架·jsx·highcharts·自定义表格
2601_967987379 天前
为静态资源添加路径前缀并支持发布到 CDN
开发文档·cdn·next.js·静态资源·页面路由
Highcharts.js9 天前
Highcharts 集成到 React 或 Vue 项目中时,如何高效地使用 TypeScript技巧?
vue.js·人工智能·react.js·typescript·前端框架·highcharts
Highcharts.js10 天前
CSUN 2026|Highcharts无障碍数据与AI分享
javascript·人工智能·数据分析·highcharts·图表开发
Highcharts.js15 天前
2026年,AI正在重写技术:“工具思维”正在失效?
人工智能·echarts·客户端·highcharts·可视化图表·企业级图表
Highcharts.js15 天前
Highcharts甘特图开发带导航功能的项目管理图示例
开发语言·前端·javascript·甘特图·highcharts·项目管理图
Highcharts.js19 天前
BI可视化图表“维护难”问题的解决方案
开发语言·前端·javascript·编辑器·ecmascript·bi·highcharts
Highcharts.js23 天前
Highcharts 发布16项最新安全公告
人工智能·安全·性能优化·highcharts·可视化图表