jqplot: разделение тиков и серийных значений - PullRequest
2 голосов
/ 07 февраля 2012

У меня есть веб-сервис, который отправляет значения даты (для оси X) в одном массиве. Он отправляет значения оси Y в другой массив.

Можно ли с помощью jqPlot создать диаграмму с 2 такими массивами. Документация, кажется, указывает, что это возможно.

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

Этот jsFiddle http://jsfiddle.net/abhivm/HmnmH/1/ показывает пример кода. Может кто-нибудь, пожалуйста, посмотрите и дайте мне знать, как это сделать?

jsFiddle возвращает ошибки этим утром, поэтому разместите код jQuery ниже.

$(document).ready(function() {
    var dateValues = ["01/15/2012", "01/17/2012", "01/18/2012", "01/19/2012"];
    var dailyValues = [219, 73, 73, 146];

    plot2 = $.jqplot('chart', [dailyValues], {

        axes: {
            xaxis: {
                renderer: $.jqplot.DateAxisRenderer,
                ticks: dateValues
            }
        }
    });
});

Спасибо Аби

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Я не могу найти способ для jqPlot принять то, как вы хотите определить свои входные данные (опция галочки, кажется, работает только с числами).Мне любопытно, что касается комментария "избегать дополнительной обработки".С jQuery было бы просто:

$.map(dateValues, 
       function(val,idx){
           return [[val,dailyValues[idx]]];
       }
);

"объединить" два массива в пары точек.

0 голосов
/ 26 ноября 2016

«Несколько тиков для одной и той же даты» для оси даты можно решить, включив следующий фрагмент кода:

  xaxis: {
           label: "Whatever you name it",
           renderer: $.jqplot.DateAxisRenderer,
           min:dateVal[0],
           max:dateVal[dateVal.length-1],
           tickInterval: '1 day',

Пожалуйста, укажите min, max и tickInterval в xaxis:, а не вtickOptions:.

В моем случае у меня есть значения даты в массиве dateVal, где 0-й элемент - это минимальное значение даты для оси X, а последний элемент - максимальное значение даты.Если вы хотите, вы можете жестко закодировать значения даты.

Надеюсь, это поможет.

...