С учетом таблицы агрегированных данных, которая определяется как:
aggData: [Дата: дата] [Команда: строка] [Балл: число]
Я хочу построить агрегированные данные с возможностью фильтрации по годам. Я использую динамические отметки c на оси HAXIS, чтобы избежать проблемы с повторяющимися метками. Тем не менее, метка для пользовательских тиков не появляется. Я хочу, чтобы Оси показывало месяцы. Я догадываюсь, что я не создаю тики должным образом
См. Изображения ниже
var hAxisTicks = [];
var dateRange = aggData.getColumnRange(0);
for (var y = dateRange.min.getFullYear(); y <= dateRange.max.getFullYear(); y = y + 1) {
for(var m = dateRange.min.getMonth(); m <= dateRange.max.getMonth(); m = m + 1){
hAxisTicks.push(new Date(y,m));
}
}
var yearPicker = new google.visualization.ControlWrapper({
controlType: 'CategoryFilter',
containerId: 'categoryFilter_div',
options: {
filterColumnIndex: 0,
ui: {
allowTyping: false,
allowMultiple: false,
label: 'Year:',
labelStacking: 'vertical'
},
useFormattedValue: true
}
});
var lineChart = new google.visualization.ChartWrapper({
chartType: 'LineChart',
containerId: 'chart_div',
options: {
width: 900,
height: 500,
hAxis: {
format: 'MMM',
ticks: hAxisTicks
}
}
});
aggData.sort([{ column: 0 }]);
// draw chart
var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard_div'));
dashboard.bind(yearPicker, lineChart);
dashboard.draw(aggData);
<div id="dashboard_div">
<div id="categoryFilter_div"></div>
<div id="chart_div"></div>
</div>
При указании значения hAxisTicks диаграмма выходит без меток на hAxis
Без указания hAxisTicks диаграмма выглядит следующим образом:
я записал данные на консоль, используя
google.visualization.dataTableToCsv(aggData)
вывод:
"Oct 1, 2019",128,0,0,0
"Nov 1, 2019",152,75,0,0
"Dec 1, 2019",0,0,23,0
"Jan 1, 2020",225,0,0,84