Amcharts: ось на основе даты и времени для расписания - PullRequest
0 голосов
/ 08 февраля 2019

Я хочу показать расписание на диаграмме Ганта на основе Amcharts.Он будет содержать целую неделю и разные периоды часов в каждом дне на этой неделе.

Это означает, что когда я вижу всю неделю, на оси X отображаются дни: 1 апреля,2 апреля, ... 7 апреля.

И когда я увеличу специальный день, он покажет часы: 08: 00, 08:30 ... 13: 30, 14: 00.

В поисках решения я нашел примеры только с днями или только с часами.Но никогда не смешанная ось, как мне нужно.Возможно ли это с помощью Amcharts?

Пока мой код выглядит так:

var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
dateAxis.dateFormatter.dateFormat = "yyyy-MM-dd HH:mm";
dateAxis.renderer.minGridDistance = 50;
dateAxis.baseInterval = { count: 10, timeUnit: "minute" };
dateAxis.max = new Date(2018, 0, 5, 24, 0, 0, 0).getTime();
dateAxis.strictMinMax = true;
dateAxis.renderer.tooltipLocation = 0;

Но он показывает только часы, и пользователям трудно понять диаграмму.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Я нашел следующие решения в Amcharts V3.

Первый - поставить дату в качестве оси X, а время - в качестве оси Y: https://www.amcharts.com/docs/v3/tutorials/using-gantt-chart-display-multi-segmented-columnsbars/

Второй работает фактически так, как я хотел, и объяснил в следующем вопросе: https://www.amcharts.com/docs/v3/tutorials/gantt-chart-legend/

Спасибо, надеюсь, это поможет кому-то другому.

0 голосов
/ 08 февраля 2019

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...