изменение mouseTracking на созданной круговой диаграмме - PullRequest
0 голосов
/ 08 мая 2019

На созданной круговой диаграмме мне нужно изменить mouseTracking после вызова функции в угловом компоненте.

К сожалению, для параметра enableMouseTracking установлено значение false на Highcharts -> setOptions -> plotOptions -> series или series -> setOptions не оказывает никакого влияния на график.

      Highcharts.setOptions({
        plotOptions: {
          series: {enableMouseTracking: false}
        }
      });
      this.chartRef.series[0].setOptions({
        enableMouseTracking: false
      });

Даже дополнительное выполнение setData (просто перерисовать диаграмму тоже не помогает)

enableMouseTracking работает правильно при первоначальной установке в chartOptions перед созданием круговой диаграммы.

Можно ли изменить mouseTracking на созданном графике и, если да, то как это сделать?

Посоветуйте, пожалуйста.Заранее спасибо.


Больше кода ниже:

Package.json

    "@angular/core": "7.2.12",
    "highcharts": "7.1.1",
    "highcharts-angular": "2.4.0",

HTML

<highcharts-chart
  [Highcharts]="Highcharts"
  [options]="chartOptions"
  [update]="false"
  [runOutsideAngular]="true"
  style="width: 300px; height: 280px; display: block;"
></highcharts-chart>

Машинопись

export class MyChartComponent implements OnInit, AfterViewInit, OnDestroy {

  public Highcharts = Highcharts; // required
  private chartRef;

  public chartOptions = {
    chart: {
      plotBackgroundColor: null,
      plotBorderWidth: null,
      plotShadow: false,
      type: 'pie',
      events: this.getHighchartsEvents()
    },
    series: [{
      name: 'Data',
      enableMouseTracking: true,
      size: '100%',
      innerSize: '50%',
      data: [this.highchartsData]
    }],
    // [...]
  }

  private getHighchartsEvents() {
    const self = this;
    return {
      load: function(event) {
        self.chartRef = this;
      }
    }
  }

  public disableMouseTracking() {
    if(this.chartRef) {
      Highcharts.setOptions({
        plotOptions: {
          series: {enableMouseTracking: false}
        }
      });
      const turnOffMouseTracking = {
        enableMouseTracking: false
      };
      this.chartRef.series[0].setOptions(turnOffMouseTracking);
      // this.chartRef.series[0].setData(this.highchartsData); // additional execution of setData (just to redraw the chart does not help either) 
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...