ОБНОВЛЕНИЕ Теперь это поддерживается непосредственно в API диаграмм с использованием функции «аннотированных диаграмм» расширенных графиков - https://developers.google.com/chart/interactive/docs/gallery/annotationchart
Я сделал это на моей диаграмме ReHash Database Statistics (хотя даты оказались равномерно распределенными, так что это точно не демонстрирует, что он делает это).
Во-первых, вы хотите получить ваш общий период времени , который будет аналогичен общей ширине вашего графика. Для этого мы вычитаем самую раннюю дату из самой поздней. Я предпочитаю использовать временные метки эпохи Unix, поскольку они являются целыми числами и их легко сравнивать таким образом, но вы можете легко вычислить количество секунд и т.д.
Теперь переберите свои данные в цикле. Для каждой даты нам нужен процентиль в общем периоде, когда дата отсчитывается от начала (т.е. самая ранняя дата - 0, самая поздняя - 100). Для каждой даты вы сначала хотите вычислить расстояние от текущей даты от самой ранней даты в наборе данных. По сути, «насколько мы далеки от старта». Итак, вычтите самую раннюю дату из текущей даты. Затем, чтобы найти процентиль, мы делим расстояние текущей даты на общий период времени , а затем умножаем на 100 и обрезаем или округляем любой десятичный знак, чтобы получить наш интеграл x -координата .
И это так просто! Ваши значения x будут находиться в диапазоне от 0 (левая сторона диаграммы) до 100 (правая сторона), и каждая точка данных будет находиться на расстоянии от начала, соответствующем ее истинному временному расстоянию.
Если у вас есть какие-либо вопросы, смело задавайте! При желании могу опубликовать псевдокод или PHP.
Ваши значения x будут находиться в диапазоне от 0 (левая сторона диаграммы) до 100 (правая сторона), и каждая точка данных будет находиться на расстоянии от начала, соответствующем ее истинному временному расстоянию.Если у вас есть какие-либо вопросы, смело задавайте! При желании могу опубликовать псевдокод или PHP.
Ваши значения x будут находиться в диапазоне от 0 (левая сторона диаграммы) до 100 (правая сторона), и каждая точка данных будет находиться на расстоянии от начала, соответствующем ее истинному временному расстоянию.Если у вас есть какие-либо вопросы, смело задавайте! При желании могу опубликовать псевдокод или PHP.
This can be done with Google charts quite easily, but your application must calculate the labels
The chxl chart x label parameter is the one you need. The following example labels a y-axis with numbers in 50 steps, and the bottom with dates
chxl=0:|0|50|100|150|200|250|300|350|400|450|500|1:|16/01/2009|26/01/2009|6/02/2009
Похоже, теперь вы можете сделать это с помощью расширенных графиков:
http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html