jQPlot Дата на оси X Интервал тика не работает

0

См. Прикрепленное изображение. Строки даты из php в формате Ymd строятся по оси x. Но, как вы видите, чем больше дат, тем больше отменяется. Я хотел использовать свойство tickInterval jqplot, но он просто не работает!

Он полностью игнорирует интервал и просто делает графики каждый день. Поэтому, если у меня есть 1000 дней, она становится полной нечитаемой.

Изображение 174551

var plot1 = $.jqplot("analyse-bottom-left",[yValues],{
            highlighter: { show: true, tooltipAxes: 'both' },
            seriesDefaults:{
                //renderer:$.jqplot.BarRenderer,
                rendererOptions: {fillToZero: true},


            },
            axesDefaults:{
                tickRenderer: $.jqplot.CanvasAxisTickRenderer,

            },
            legend: {
                show: true,
                placement: 'outsideGrid'
            },
            //series:seriesNames,
            axes:{
                xaxis:{
                    renderer: $.jqplot.CategoryAxisRenderer,
                    rendererOptions: { tickRenderer: $.jqplot.dateAxisRenderer },
                    ticks:xValues,
                    tickOptions:{
                        angle:30,
                        formatString:'Y-m-d'
                    },
                    tickInterval:'2 days'

                },
                yaxis:{

                    tickOptions: {formatString: '£%d'}
                }

            }    
        });
Теги:
date
jqplot

1 ответ

1

Ваши параметры xaxis недействительны. Вы установили его как CategoryAxisRenderer а затем попытаетесь установить тики как DateAxisRenderer. Это не будет работать, потому что сама ось должна использовать DateAxisRenderer.

Попробуй это:

xaxis:{
    renderer: $.jqplot.DateAxisRenderer,
    ticks: xValues,
    tickOptions:{
        angle: 30,
        formatString: '%Y-%m-%d'
    },
    tickInterval: '2 days',
    min: xValues[0]
}

Я создал jsfiddle, чтобы продемонстрировать использование. jqPlot имеет много причуд - в этом случае для выполнения операции tickInterval вы должны указать значение "min".

  • 0
    Проигнорируйте изображение, которое я поместил dateAxisRenderer, а не DateAxisRenderer. Однако ничего не изменилось, интервалы все равно 1 день, а не 2
  • 1
    Пожалуйста, не редактируйте ответ, чтобы ответить автору. Либо добавьте комментарий, либо отредактируйте свой вопрос.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню