Я использую таблицу 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
}
});
}
}],
},