绘制条形图数据转换

时间:2013-08-02 14:10:56

标签: javascript jquery flot

我想制作一个简单的条形图,但我的数据没有出现

var data = [[“item1”,277],[“item2”,635],[“item3”,133]]

您能告诉我如何将上面的字符串转换为Flot的正确格式吗?

请参阅小提琴http://jsfiddle.net/q7R68/

var data = [["item1",277],["item2",635],["item3",133]] 

var options = {
                    series: {
                        stack: 0,
                        lines: { show: false, steps: false },
                        bars: { show: true, barWidth: 0.9, align: 'center', },
                    }
                };

alert(data);
$.plot($("#statsChart2"), data, options);

由于

编辑:在我的问题中我应该更清楚我想将数据从其字符串表示转换为Flot通过代码所需的数据。它表示已转换为要绘制的字符串格式的JSON数组

1 个答案:

答案 0 :(得分:3)

你的配置都很混乱。 barslines配置属于数据,而您的轴标签(“item1”等)属于您的选项。

最后,我在API中看不到stack选项

var data = [[0,277],[1,635],[2,133]];

var aSeries = {
    data: data,
    bars: { show: true, barWidth: 0.9, align: 'center' }
};

var someOptions = {
    xaxis: {
        ticks: [[0,"item1"],[1,"item2"],[2,"item3"]]   
     }       
};

$.plot($("#statsChart2"), [aSeries], someOptions);

小提琴here

<强> EDITS

我想我今天感觉很慷慨,这里有一小段代码可以进行转换:

var data = [["item1",277],["item2",635],["item3",133]];

var ticks = [];
for (var i = 0; i < data.length; i++) {
    ticks.push([i,data[i][0]]);
    data[i][0] = i;   
}

更新,更新fiddle