我正在使用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);
});
答案 0 :(得分: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);
});
答案 1 :(得分: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);
});
这个例子不适合你吗?
答案 2 :(得分:0)
您只需要在数据上附加标签......就像这样:
graph = $.plot($('div#some_graph'),
[
{label: 'Work', data: rsp.work},
{label: 'Travel', data: rsp.travel}
],
{
series: {
...