jqplot:分隔刻度和系列值

时间:2012-02-07 15:51:00

标签: jquery jqplot

我有一个Web服务,它在一个数组中发送日期值(对于x轴)。它在另一个数组中发送y轴值。

是否可以让jqPlot创建一个包含2个此类数组的图表。文档似乎表明这是可能的。

我知道在一个数组中合并日期和系列值。想避免组合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
            }
        }
    });
});

由于 ABHI

2 个答案:

答案 0 :(得分:1)

我无法找到jqPlot接受你想要如何定义输入的方法(ticks选项似乎只适用于数字)。我很好奇“避免额外处理”的评论。使用jQuery可以很简单:

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

将两个数组“合并”为点对。

答案 1 :(得分:0)

日期轴的'同一日期的多个刻度'可以通过包含以下代码片段来解决:

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

请在xaxis:下包含min,max和tickInterval,而不是tickOptions:下。

在我的例子中,我在数组dateVal中有日期值,其中第0个元素是x轴的最小日期值,最后一个元素是最大日期值。如果您愿意,可以对日期值进行硬编码。

我希望这会有所帮助。