данные приводят к строке в javascript, поэтому они будут сортироваться как строка.
вместо этого используйте реальную дату в JavaScript.
что-то вроде ...
foreach ($array as $row){
echo "[new Date(".strtotime($row['date'])." * 1000),".$row['views']."],";
}
, затем вы можете отформатировать дату для оси, используя опцию ...
hAxis: {
format: 'MMM dd'
}
ОБНОВЛЕНИЕ
, поскольку формат не включает время, ось X может повторять метки.
чтобы предотвратить, используйте пользовательские галочки.
hAxis: {
format: 'MMM dd',
ticks: data.getDistinctValues(0)
}
где data
- таблица данных Google ...
ОБНОВЛЕНИЕ 2
другой вариант для тиков - это создать свой собственный, основываясь на диапазоне дат графика ...
var oneDay = (1000 * 60 * 60 * 24);
var hAxisTicks = [];
var dateRange = data.getColumnRange(0);
for (var i = dateRange.min.getTime(); i <= dateRange.max.getTime(); i = i + oneDay) {
hAxisTicks.push(new Date(i));
}
hAxis: {
format: 'MMM dd',
ticks: hAxisTicks
}