【问题标题】:How to use Highcharts regression plugin to plot a trend line using angular 8 wrapper如何使用 Highcharts 回归插件使用 Angular 8 包装器绘制趋势线
【发布时间】:2020-09-21 15:20:26
【问题描述】:

我正在尝试使用 highcharts 回归插件在我的样条图中绘制趋势线。 但我找不到任何显示如何在我的角度组件中正确导入 highcharts-regression 插件的 sn-p。

我已经在我的组件中导入了 angular highcharts,如下 2 行所述。

import * as Highcharts from 'highcharts';
import HC_exporting from 'highcharts/modules/exporting';
HC_exporting(Highcharts);

在 html 中:

 <highcharts-chart [Highcharts]="highcharts" [options]="chartOptions"
       [callbackFunction]="chartCallback"  [(update)]="updateFlag"  [oneToOne]="oneToOneFlag"
         style="width: 100%; height: 400px; display: block;">
     </highcharts-chart>

我在下面提到了用于在 angular8 组件中绘制样条图的 highchart 选项。

chartOptions = {
    chart: {
      type: 'spline'
    },
    title: {
      text: 'With Outliers'
    },
    xAxis: {
      title: {text: 'Chunk Order'},
      tickInterval: 10,
      categories: [
                2,4,5,7,8
      ]
    },
    yAxis: {
      title: {
        text: 'Oil Pressure'
      }
    },
    plotOptions: {
      series: {
        marker: {
          enabled: false,
          fillColor: '#f5bf42',
        }
      }
    },
    series: {
      name: 'oilpressure',
      lineColor: '#f5bf42',
      regression: true,
      /* regressionSettings: {
        name : 'oilpressure',
        type: 'linear',
        color: 'rgba(223, 183, 83, .9)',
        dashStyle: 'dash'
      }, */
    
      data: [345, 678,654,772,352]

    }
  };```

【问题讨论】:

    标签: angular highcharts regression angular8 angular-highcharts


    【解决方案1】:

    您需要做的就是安装highcharts-regression 包,然后导入它并使用highcharts 对其进行初始化(就像您对导出模块所做的那样)。

    import { Component } from "@angular/core";
    import * as Highcharts from 'highcharts';
    
    declare function require(name:string);
    const HC_Regression = require('highcharts-regression');
    HC_Regression(Highcharts);
    ...
    

    现场演示:
    https://stackblitz.com/edit/highcharts-angular-highcharts-regression?file=src/app/app.component.ts

    【讨论】:

    • 谢谢@Mateusz Kornecki,您提到的解决方案确实有帮助并且有效,但它仅适用于静态数据。当我在从另一个 api 调用接收数据后再次尝试更新“系列”数据时,它再次删除了趋势线。我通过提到我如何在 html 代码中使用 highchart 组件来更新问题。此外,当我从 api 获取数据时,我使用下面的行 this.chartOptions.series = newdata; 更新了 chartOptions 对象
    • highcharts-regression 似乎不适用于动态数据 (jsfiddle.net/BlackLabel/0o9uq5g1)。由于它是第三方产品,我建议联系作者github.com/streamlinesocial/highcharts-regression/…
    猜你喜欢
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 2021-08-10
    相关资源
    最近更新 更多