1

我正在使用Flot Graph Api在我的客户端 php 中显示条形图、折线图。正如他们在示例中提到的那样,我尝试通过 Json 来绘制图表。

我像这样打包Json,

 [{"label":"63f9311f-5d33-66ad-dcc1-353054485572","bars":{"show":true},"data":        [[-170.44530493708,270.44530493708]]},{"label":"8f6dcf4a-b20c-8059-1410-353054486037","bars":{"show":true},"data":[[-791.50048402711,891.50048402711]]},{"label":"c2b4cf75-3e0b-f9ff-722e-353054485803","bars":{"show":true},"data":[[-1280.0484027106,1380.0484027106]]},{"label":"eb963e23-75cd-6131-867a-353054485894","bars":{"show":true},"data":[[-1487.2604065828,1587.2604065828]]},{"label":"ef413106-d5be-593b-1cda-353054485719","bars":{"show":true},"data":[[-1940.9583736689,2040.9583736689]]}]

但是图表没有绘制。

     $.ajax({                                      
  url: '../c/By_Machine_Controller.php',                  //the script to call to get data          
  data: "",                        //you can insert url argumnets here to pass to api.php
                                   //for example "id=5&parent=6"
  dataType: 'json',                //data format      
  success: function(data)          //on recieve of reply
  {
    var Up = [];
    var Down = [];
    Up = data[0];              //get Up
    Down = data[1];           //get Down
    //alert(Up);
    $.plot($("#placeholder"), [ Up , Down ]);
  } 
});

与 Json 或 My JS 有什么关系吗?因为,我是新来的,所以我没有任何线索。谁能帮我吗。

我输入的答案工作正常,但在这种情况下,我将 JSON 写入临时文件并访问它,但我的要求是,

我计算本地主机中 MODEL 文件夹中的浮点值,并将其作为关联数组传递,并将其编码为 CONTROLLER 文件夹中的 JSON。现在我需要在本地主机的 VIEW 文件夹中访问 JSON。

控制器代码:

    $json = json_encode($allData);
    $myFile = "ReasonByTime.txt";
    $fh = fopen($myFile, 'w') or die("can't open file");
    $stringData = "Bobby Bopper\n";
    fwrite($fh, $json);

    fclose($fh);

但是当我像下面这样通过 JS 在 VIEW 中访问 CONTROLLER 的 $json 时,它不起作用。我用谷歌搜索了它,但我无法修复它。你能帮我解决这个问题吗?

查看 JS 代码以从控制器访问 JSON。

      $(document).ready(function () {

    //var dataurl = '../c/By_Machine_Controller.php';

    function onDataReceived(data) {

        $.plot(placeholder, data, options);
    }
    $.ajax({
        type: "GET",
        url: '../c/By_Machine_Controller.php',
        data: 'data',
        dataType: 'json', 
        success: function(data) { 
            alert(data);
        }
    });
});
4

3 回答 3

1

看起来不错,barWidth如果需要可以添加:

http://jsfiddle.net/YHPea/或页面示例: http: //people.iola.dk/olau/flot/examples/stacking.html

Flot 库填满所有空间,这就是为什么你会得到这样的结果:http: //jsfiddle.net/YHPea/1/

于 2012-11-16T12:19:00.827 回答
0

我做了一些测试,只是

$.plot($("#placeholder"), data);

为我工作。

于 2012-11-16T12:52:42.917 回答
0

这对我有用。

 <script language="javascript" type="text/javascript">  
$(document).ready(function(){
$.getJSON('ReasonByTime.txt', function(json) {
    $.plot($("#placeholder"),json, {bars: { show: true, barWidth:0.2},xaxis: {ticks: json.ticks}});
});

});

于 2012-11-21T15:52:37.483 回答