6

検索していて、探しているものを正確に見つけることができません。複数のシリーズを 1 つの jqplot にロードする必要があり、各シリーズは独自のデータ ファイルから取得されます。

ここの例http://www.jqplot.com/tests/data-renderers.phpは、ファイルからシリーズをロードする方法を示していますが、ファイルを日付データに変換すると、おそらくフォーマットだけで機能しなくなります問題がありますが、解決できません。私は何を間違っていますか?

txt ファイルのデータは次のとおりです。 2011 04:00:00AM",90.0]]

コードは次のとおりです。

<script class="code" type="text/javascript">$(document).ready(function(){
    var line = [ ];
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 = "./jsondata1.txt";

plo12 = $.jqplot('chart2', jsonurl,{
    title: 'AJAX JSON Data Renderer',
    dataRenderer: ajaxDataRenderer,
    axes: {
      xaxis: {
          renderer:$.jqplot.DateAxisRenderer,
          tickInterval: '1 day',
          tickOptions:{formatString:'%y/%m/%d'}
      }
  }
});
});</script>
4

1 に答える 1

2

次のように、パラメータを使用してdataRendererOptions可能なファイルを宣言できます。

plo12 = $.jqplot('chart2', jsonurl,{
    title: 'AJAX JSON Data Renderer',
    dataRenderer: ajaxDataRenderer,
    dataRendererOptions: {file1:'name_of_file_1', file2:'name_of_file2'}
    axes: {
      xaxis: {

次に、for-each を使用して dataRendererOptions - オブジェクトを反復処理します。

var ajaxDataRenderer = function(url, plot,op) {
    var ret = null;
$.each(op,function(i,n) {
    $.ajax({
        // have to use synchronous here, else returns before data is fetched
        async: false,
        url: url+'/'+i,
        dataType:'json',
        success: function(data) {
            ret[]= data;
        }
    }); //end ajax
 });//end each
return ret;
}

このコードはテストではありませんが、背後にあるアイデアはニーズに合う可能性があります。

于 2011-07-20T15:20:37.430 に答える