我正在使用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有什么关系是错误的。既然,我是flot的新手,我没有任何线索。任何人都可以帮助我。
我输入的答案工作正常,但在这种情况下,我正在将JSON写入临时文件并访问它,但我的要求是,
我在本地主机中的MODEL文件夹中计算flot的值,并将其作为关联数组传递,并将其编码为CONTROLLER文件夹中的JSON。现在我需要在我的localhost中访问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中CONTROLOLLER的$ 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);
}
});
});
答案 0 :(得分:1)
看起来不错,如果您需要,可以添加barWidth
:
http://jsfiddle.net/YHPea/或页面示例:http://people.iola.dk/olau/flot/examples/stacking.html
Flot库填充所有空格,这就是你得到这样结果的原因:http://jsfiddle.net/YHPea/1/
答案 1 :(得分:0)
我做了一些测试,只是
$.plot($("#placeholder"), data);
适合我。
答案 2 :(得分: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}});
});
});