jQuery如何使用Flot创建堆叠条形图?

3
我正在使用jquery flot创建一个堆叠式柱状图,但是我遇到了一些语法问题... 我会在结尾处贴出我的代码,但我相当确定它是错误的。我确实得到了一个堆叠式柱状图,但只有三列...
基本上,这是我正在处理的数据以及我想要完成的内容...每行的第一组(焦点组1)是堆叠条形图的底部条,第二组(焦点组2)是第二个,第三组(焦点组3)是顶部组。 "响应"是我想要在x轴上使用的内容,每组中的第一个数字是x,第二个数字是y。
Response1, [0, 0], [0,0], [0,9]
Response2, [1, 5], [1,5], [1,11]
Response3, [2, 2], [2,0], [2,8]
Response4, [3, 1], [3,2], [3,6]
Response5, [4, 0], [4,0], [4,7]

我应该提到的是,我不确定堆叠图是否是最好的选择......坦白地说,我不是一个很注重视觉效果的人,通常觉得图表很烦人...如果有更好的方法来呈现这些数据,那么我非常愿意听取建议...
基本上......
我有一系列问题。每个问题都被提交给了三个焦点小组。焦点小组的成员选择了一个答案。我试图呈现每个问题的每个焦点小组的响应计数。我认为堆叠图可能是最好的选择,但我也愿意尝试其他的方式。唯一需要的是,我肯定需要数据的可视化表示....
使用的代码:
$(function () {
    var cssid = "#placeholder";
    var data = [ [ [1, 0], [2,0], [3, 2] ], [ [1, 0], [2,0], [3, 6] ], [ [1, 0], [2,0], [3, 8] ], [ [1, 0], [2,0], [3, 5] ], [ [1, 0], [2,0], [3, 5] ], ];
    var options = { series: { stack: 0, lines: { show: false, steps: false }, bars: { show: true, barWidth: 0.5 },},};
    $.plot($(cssid), data, options);
});
3个回答

1

您未正确输入数据。应该如下:

$(function () {
    var css_id = "#placeholder";
    var data = [[[0,0], [1,5], [2,2], [3,1], [4,0]],
                [[0,0], [1,5], [2,0], [3,2], [4,0]],
                [[0,9], [1,11], [2,8], [3,6], [4,7]],];
    var options = {series: {stack: 0,
                            bars: { show: true, barWidth: 0.5 },},
                   xaxis: {ticks: [[0, 'Resp1'], [1, 'Resp2'], [2, 'Resp3'], [3, 'Resp4'], [4, 'Resp5']]},
                  };

    $.plot($(css_id), data, options);
});

0

http://www.saltycrane.com/blog/2010/03/jquery-flot-stacked-bar-chart-example/ 包含了一个堆叠条形图的示例代码:

$(function () {
var css_id = "#placeholder";
var data = [[[1,10], [2,20], [3,30], [4,40],],
            [[1,30], [2,30], [3,30], [4,30],],
            [[1,40], [2,30], [3,20], [4,10],],];
var options = {series: {stack: 0,
                        lines: { show: false, steps: false },
                        bars: { show: true, barWidth: 0.9 },},};

$.plot($(css_id), data, options);
});

这个例子对你来说不起作用吗?


这正是我所使用的,但我只得到了三列而没有标签... - KittyYoung
请看下面我的答案,了解如何附加标签。 - Martin Zeitler

0
你只需要将标签附加到数据上...就像这样:
graph = $.plot($('div#some_graph'),
[
   {label: 'Work', data: rsp.work},
   {label: 'Travel', data: rsp.travel}
],
{
series: {
 ...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接