Вопрос

Я пытаюсь использовать Dojox.Charting для вывода простого графика ежемесячных данных.

На данный момент я хочу, чтобы он отображался по одному пункту в день в каждом месяце, в течение года. Это у меня есть.

Проблема с этим: Я не могу найти способ добавить метки диаграммы на каждый месяц.

Я хочу «январь» в 0, февраль »в 31,« март »в 59 и так далее.

Насколько я могу судить, Dojox.Charting поддерживает только наличие ярлыков на регулярных значениях, например. 30, 60, 90 и так далее.

Есть ли какой -нибудь способ, который я могу легко сделать, или требуется код Dojo?

Пожалуйста, смотрите этот jsfiddle, например: http://jsfiddle.net/svjrz/

Это было полезно?

Решение

Dojox.Charting еще не поддерживает время времени.

Когда мне нужно представить нерегулярные данные (например, ежемесячно), обычно я интерполирую ежедневные данные, чтобы представлять в ежемесячном масштабе с обычными клещами (январь, февраль и т. Д.) В качестве диаграммы линии/области (вы можете попробовать сплайны там). И я переключаюсь на еженедельный/ежедневный обзор, когда пользователь тренируется.

Да, это больше работы, но результат - именно то, что я хочу, а не «что доступно».

Другие советы

Я предоставил возможное решение В этом посте.

Основанная на временной диаграмме требуется непрерывные данные.

Вам нужно будет генерировать полную серию значений даты для оси x в SQL или PHP. Я использую трюк MySQL календарного таблицы с одним полем даты и процедурой, которая заполняет его всеми датами в диапазоне. JavaScript может преобразовать даты ISO напрямую.

Ваши разбросанные данные могут затем быть выведены в виде смежного времени, основанного на времени, используя:

SELECT DISTINCT(t0.datefield) AS Date, SUM(t1.sales) AS Sales FROM T_Sales AS t1 RIGHT JOIN T_Cal AS t0 ON t0.datefield = DATE(t1.saledate) WHERE t0.datefield >= DATE(NOW() - INTERVAL 6 MONTH) AND t0.datefield <= DATE(NOW())
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top