Визуализация аннотированной временной шкалы 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 ответа

Вы можете удалить флаг разрешения перерисовки. В этом случае вы должны поместить точки данных вручную в таблицу данных.

  1. Самая последняя дата фактических данных целиком
  2. Самая устаревшая дата в реальных данных.

это сохранит вашу операцию масштабирования. Я думаю, что вы уже видели удаление флага allowRedraw, работает, но с небольшой проблемой, мерцающей весь график.

Мне кажется, что лучшим решением было бы нарисовать каждую n-ую точку данных, в зависимости от вашего уровня масштабирования. На графике (ах) Google Finance уровни масштабирования предварительно определены в верхней части: 1 м, 5 м, 1 ч, 1 день, 5 дней и т. Д. Кажется очевидным, что это именно то, что делает Google. На максимальном уровне просмотра они строят точки, приходящиеся на месяц. Если вы опрашиваете 1000 раз в день (каждый опрос генерирует одну точку), то вы будете брать каждую 30000-ю точку (первая точка месяца - первая, а 300-я последняя) точка).

Каждый из этих уровней масштабирования будет реализовывать различный график точек данных. Каждая точка должна иметь метку времени с точностью до секунды, поэтому вы легко сможете масштабировать график в зависимости от уровня детализации.

Другие вопросы по тегам