2012-02-08 50 views
3

我想从JSON文件中以jqPlot呈现图表。 随着一些例子我来到了下面的代码,做工精细的帮助:jqPlot:从json文件打印点标签

$(document).ready(function(){ 
var ajaxDataRenderer = function(url, plot) { 
    var ret = null; 
    $.ajax({ 
     // have to use synchronous here, else returns before data is fetched 
     async: false, 
     url: url, 
     dataType:'json', 
     success: function(data) { 
      ret = data; 
     } 
    }); 
    return ret; 
}; 

var jsonurl = "./json_3.json"; 

plo12 = $.jqplot('chart2', jsonurl,{ 
    dataRenderer: ajaxDataRenderer, 
    title: 'User Activity Chart (AJAX JSON Data Renderer)', 
    legend: {show:true}, 
    seriesDefaults: { 
     showMarker:true, 
     pointLabels: { show:true } 
    }, 
    axes: { 
     xaxis: { 
      renderer:$.jqplot.DateAxisRenderer, 
      tickOptions: { 
       formatString:'%a %d %b %H:%M' 
      } 
     }, 
     yaxis: { 
      tickOptions: { 
       show: false 
      }, 
     } 
    } 
}); 
}); 

而且JSON文件看起来像这样:

[ 
    [ 
     ["2012-02-07 10:00", 10, "start"], 
     ["2012-02-07 23:43" ,10, "end"] 
    ], 
    [ 
     ["2012-02-07 01:45", 20, "start"], 
     ["2012-02-07 08:18", 20, "end"] 
    ] 
] 

这样我可以借鉴,我想尽可能多系列。 现在唯一的问题是标签(开始/结束)不打印在图表上,我不明白为什么。 我以为这行代码就够了:

pointLabels: { show:true } 

有什么建议吗?

+0

愚蠢的我! Missing: jqplot.pointLabels.min.js – EBAH 2012-02-08 09:04:57

+0

既然你解决了它,那么为什么你不加入你的评论作为你的问题的答案,并接受它或如果问题很简单,一起删除问题? – Boro 2012-06-13 11:22:24

回答

3

你应该使用:

xaxis: { 
     renderer:$.jqplot.DateAxisRenderer, 
     tickOptions: { 
      formatString:'%H:%M' 
     } 
    },