2012-12-11 65 views
1

JSON数据我想渲染动态JSON jqplot小部件,我无法找到如何做到这一点。如何呈现jqplot

唯一的例子,我看到包括从文件中读取JSON,但我想用JSON字符串作为例如:

{"oranges":"10","apples":"20","bananas":"6"} 

什么想法?

+0

你有什么尝试?你看到过这些类似的问题吗? http://stackoverflow.com/questions/11141434/plotting-json-data-using-jqplot http://stackoverflow.com/questions/10514311/constructing-json-for-jqplot-bar-charts –

+0

我没有,但他们从文件/网址谈论JSON,而我需要从动态JSON字符串 – zohar

+0

好吧,我明白了你的观点。请检查我的回答 –

回答

3

在你的问题中的数据不是字符串,这是一个JavaScript对象字面。

如果你有橘子,苹果香蕉你可能想画一个柱状图;你需要提取对象的标签和值,然后绘制图表:

var chart_data = {"oranges":"10", "apples":"20", "bananas":"6"}; 
var line1 = []; 
for (var prop_name in chart_data) { 
    line1.push([prop_name, chart_data[prop_name]]) 
} 
// line1 should be [["oranges", 10], ["apples", 20], ["bananas", 6]] 


// code snippet from http://www.jqplot.com/tests/rotated-tick-labels.php 
// please change it as you need 
var plot1 = $.jqplot('chart1', [line1], { 
    title: 'Fruits', 
    series: [{renderer:$.jqplot.BarRenderer}], 
    axesDefaults: { 
     tickRenderer: $.jqplot.CanvasAxisTickRenderer 
    }, 
    axes: { 
     xaxis: { 
     renderer: $.jqplot.CategoryAxisRenderer 
     } 
    } 
}); 
+0

它不工作。 你可以请用整页/ html代码编辑问题吗? – zohar

+0

什么不起作用?我很确定'line1'是正确的,你应该能够渲染图表(第二部分是我从jqPlot网站复制的代码片段,请根据需要修改它) –

+0

图表不显示标题'水果' – zohar

0
$.getJSON(url,"json").success(function(data) { 
var line1 = []; 
var content = $.parseJSON(data); 
$.each(content, function(index, item) { 
     line1.push([item.date, item.value]) 
}); 

var plot1 = $.jqplot("chart1",[line1], { ..... 

这是一个很好为例如何将JSON数据转换成阵列谁jqplot可以使用...