1

我正在尝试使用动态 JSON 呈现 jqplot 小部件,但我找不到如何做到这一点。

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

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

任何的想法?

4

2 回答 2

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
      }
    }
});
于 2012-12-11T09:59:24.323 回答
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 可以使用的数组......

于 2013-04-22T14:34:59.193 回答