Фильтр по квартальным и годовым фильтрам в верхнем графике - PullRequest
1 голос
/ 23 октября 2019

Я использую таблицу Highstock, и мне нужен фильтр для квартала и года. У меня есть одно значение на весь год. Я обновлял данные с помощью setData.Filters не работают должным образом, кто-нибудь может быть идея?

rangeSelector: {inputEnabled: false, выбрано: 1, кнопки: [{type: 'month', текст: 'M', события: {click: function (e) {Highcharts.charts [0]. серия [0] .setData ( "");Highcharts.charts [0] .series [1] .setData ( "");mscServices.getRecoveryDetailGraph () .then (data => {Highcharts.charts [0] .series [0] .setData (data.response.expenses); Highcharts.charts [0] .series [1] .setData (data.response).recovery);}) Highcharts.charts [0] .xAxis [0] .update ({метки: {формат: '{значение:% b% y}' // изменить формат при нажатии}});

          setTimeout(function () {
            let d, d2;
            d = new Date(new Date().getFullYear(), new Date().getMonth()-1).getTime();
            d2 = new Date(new Date().getFullYear(), new Date().getMonth() + 2 ).getTime();
            Highcharts.charts[0].xAxis[0].setExtremes(d, d2);
          }, 1);
        }
    }
    }, {
      type: 'month',
      count: 3,
      text: 'Q',
      events: {
        click: function (e) {
          Highcharts.charts[0].series[0].setData("");
          Highcharts.charts[0].series[1].setData("");
            Highcharts.charts[0].series[0].setData([
            [1546300800000, 185000],
            [1554076800000, 155000],
            [1561939200000, 200000],
            [1569888000000, 185000]

           ]);
           Highcharts.charts[0].series[1].setData([
            [1546300800000, 337889.84],
            [1554076800000, 38399],
            [1561939200000, 38555],
            [1569888000000, 5000]

            ]);
            Highcharts.charts[0].xAxis[0].update({
            labels: {
            formatter: function () {
              var quarter;
              if(new Date(this.value).getMonth()== 0){
                quarter=1;
              }else if(new Date(this.value).getMonth()== 3){
                quarter=2;
              }else if(new Date(this.value).getMonth()== 6){
                quarter=3;
              }else if(new Date(this.value).getMonth()== 9){
                quarter=4;
              }
              console.log("valueee",new Date(this.value).getMonth());
              return 'Q'+quarter;
            }
          }
        });
        }
      }
    },
    {
      text: '1 Year',
      type: 'test',
      click: function() {
        Highcharts.charts[0].series[0].setData("");
        Highcharts.charts[0].series[1].setData("");
              Highcharts.charts[0].series[0].setData([[1546300800000,17282]]);
              Highcharts.charts[0].series[1].setData([[1546300800000,37833]]);
              Highcharts.charts[0].xAxis[0].update({
                  labels: {
                    format: '{value: %Y}' // change format on click
                  }
                });
       }
    }],
  },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...