Я пытаюсь каждый месяц нарисовать диаграмму с одним datapoint. Я отправляю это через jqPlot как единую точку в первый из каждого месяца:
$.jqplot('actualChart', [[['2011-10-01',0.296],['2011-11-01',0.682]]], {
title: programSelection.options[programSelection.selectedIndex].text,
axes: {
xaxis: {
renderer: $.jqplot.DateAxisRenderer,
rendererOptions: { tickRenderer: $.jqplot.CanvasAxisTickRenderer },
tickOptions: { formatString: '%b' }
}
}
}
Я загружаю данные диаграммы с помощью Ajax. Некоторые наборы данных имеют больше точек данных, чем другие - в приведенном выше примере только с двумя точками, тики x-axis (которые "% b" означают только что отображаемые как Oct и Nov) отображаются автоматически вдоль оси, но слишком часто, например. Sep... Oct... Oct... Oct... Oct... Nov - в обычных точках вдоль строки, которая показана. Я просто хочу один тик в начале октября, а другой в начале ноября.
Я потратил много времени на поиск, и кажется, что для этого сделан tickInterval, но добавив
tickInterval: '1 month'
просто приводит к тому, что оси x, datapoints и строка исчезают - это сломанная функциональность, о которой я говорю! Указание любого другого интервала, например
tickInterval: '2 days'
также разбивает его.
Обходной путь заключается в том, чтобы обеспечить тики вручную, например.
ticks: ['2011-10-01','2011-11-01']
Это помещает тики в нужное место, но
a) - это проблема, которая не требуется, и
b) теряет приятное дополнение на обоих концах графических точек, поэтому точки на обоих концах появляются на краях графика. Если, конечно, не добавить ручные тики с обеих сторон, но в приведенном выше примере Oct-Nov я не хочу предоставлять целый месяц с обеих сторон, потому что тогда интересные данные занимают только среднюю треть графика.
Может ли кто-нибудь помочь мне с этим? Спасибо заранее.
РЕДАКТИРОВАТЬ - нашел решение: Предоставление атрибута min для оси действительно исправляет это (по какой-либо причине... ошибка?), поэтому, если у кого-то нет лучших идей, я сделаю это!