Визуализация аннотированной временной шкалы Google, удаление точек данных
Я пытаюсь построить график, который изменит разрешение в зависимости от того, как далеко вы увеличиваете масштаб. Вот как это выглядит, когда вы полностью уменьшите масштаб.
Так что это выглядит хорошо, поэтому, когда я увеличиваю изображение, я получаю данные с более высоким разрешением, и мой график выглядит так:
Проблема в том, что когда я уменьшаю масштаб, данные с более высоким разрешением не удаляются из графика:
Таблицы под графиками представляют собой таблицы, отображающие то, что находится в DataTable. Вот как выглядит код для рисования.
var g_graph = new google.visualization.AnnotatedTimeLine(document.getElementById('graph_div_json'));
var table = new google.visualization.Table(document.getElementById('table_div_json'));
function handleQueryResponse(response){
log("Drawing graph")
var data = response.getDataTable()
g_graph.draw(data, {allowRedraw:true, thickness:2, fill:50, scaleType:'maximized'})
table.draw(data, {allowRedraw:true})
}
Я пытаюсь найти способ отображения только тех данных, которые есть в DataTable. Я попытался удалить флаг allowRedraw, но затем он прерывает операцию масштабирования.
Любая помощь будет принята с благодарностью.
Спасибо
Смотрите также
2 ответа
Вы можете удалить флаг разрешения перерисовки. В этом случае вы должны поместить точки данных вручную в таблицу данных.
- Самая последняя дата фактических данных целиком
- Самая устаревшая дата в реальных данных.
это сохранит вашу операцию масштабирования. Я думаю, что вы уже видели удаление флага allowRedraw, работает, но с небольшой проблемой, мерцающей весь график.
Мне кажется, что лучшим решением было бы нарисовать каждую n-ую точку данных, в зависимости от вашего уровня масштабирования. На графике (ах) Google Finance уровни масштабирования предварительно определены в верхней части: 1 м, 5 м, 1 ч, 1 день, 5 дней и т. Д. Кажется очевидным, что это именно то, что делает Google. На максимальном уровне просмотра они строят точки, приходящиеся на месяц. Если вы опрашиваете 1000 раз в день (каждый опрос генерирует одну точку), то вы будете брать каждую 30000-ю точку (первая точка месяца - первая, а 300-я последняя) точка).
Каждый из этих уровней масштабирования будет реализовывать различный график точек данных. Каждая точка должна иметь метку времени с точностью до секунды, поэтому вы легко сможете масштабировать график в зависимости от уровня детализации.