【问题标题】:chartOptions.redraw is not a function in highcharts using angularchartOptions.redraw 不是使用 angular 的 highcharts 中的函数
【发布时间】:2020-11-18 08:19:52
【问题描述】:

这是html代码

<highcharts-chart
  *ngIf="!isLoading"
  [Highcharts]="Highcharts"
  [options]="chartOptions"
  [(update)]="updateChart"
  style="width: 100%; height: 100%; display: block;"
></highcharts-chart>

在此处输入代码

This is the typescriptcode


 onTogglevolume() {
    this.chartOptions.series[2].visible = !this.chartOptions.series[2].visible;

    this.chartOptions = {
      ...this.chartOptions
    };
    this.chartOptions.redraw();

  }

These are import statements

import * as Highcharts from 'highcharts';
import { Options } from "highcharts";
import StockModule from 'highcharts/modules/stock';
StockModule(Highcharts);

【问题讨论】:

  • 请在在线编辑器上复制您的案例,并说明问题所在。你可以从这个模板开始:stackblitz.com/edit/highcharts-angular-basic-line
  • @SebastianWędzel 请找到附加的 stackblitz 链接stackblitz.com/edit/…。我无法在 volumetoggle 函数调用中重绘图表
  • Pattinson Mj,你分享的demo恐怕不行。
  • @SebastianWędzel 这是工作演示,问题是我无法在音量切换或单击任何按钮后获得柱形图的颜色。最初加载时柱形图正在应用颜色,但之后它不起作用。 stackblitz.com/edit/…

标签: angular highcharts redraw angular-highcharts


【解决方案1】:

load 事件仅在乞求时触发一次,因此它不是进行更多动态更改的理想场所。而不是这个,我建议使用其他一些事件。我猜您将在更改时间范围后计算每列的颜色。在这种情况下,您应该使用例如我在演示中所做的afterSetExtremes 事件。 我还创建了一个名为colorVolume 的单独方法。在使用图表参考的内部,我使用了点更新方法来更改第一列的颜色。

演示:
https://stackblitz.com/edit/highcharts-angular-basic-line-fvtyrx
接口:
https://api.highcharts.com/highcharts/xAxis.events.afterSetExtremes
https://api.highcharts.com/class-reference/Highcharts.Point#update

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    相关资源
    最近更新 更多