jqPlot上的堆栈栏与动态json
Stackedbars on jqPlot with a dynamic json
我一直在尝试使用堆叠条形图在jqPlot上完成一个图表(imho,会有更好的方式以图形方式显示上面的数据,但这不是我说了算。)下面是虚拟数据:
var data = {
"Network 1": {
"Avg. Speed": 10000,
"D/S": 10000,
"U/S": 10000
},
"Network 2": {
"Avg. Speed": 15000,
"D/S": 15000,
"U/S": 15000
},
"Network 3": {
"Avg. Speed": 20000,
"D/S": 20000,
"U/S": 20000
}
};
网络将是X轴,平均速度/DS和US将是事实,因此每个网络将有,在这种情况下,3个堆叠的柱状图与他们的数据。
我一直在传递jqplot数据这样只是为了检查结果,但是,图形是空白的:
plot2 = $.jqplot('divGraphNetwork', [], {
animate: !$.jqplot.use_excanvas,
stackSeries: true,
dataRenderer: data,
seriesDefaults: {
renderer: $.jqplot.BarRenderer,
rendererOptions: {
barPadding: 2,
barMargin: 0,
barDirection: 'vertical',
barWidth: 20
},
pointLabels: {
//location: 'se',
ypadding: 0
}
},
title: {
text: 'Network Information', // title for the plot,
show: true,
},
legend: {
show: false,
location: 'e',
placement: 'outside'
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
},
yaxis: {
min:0,
autoscale: true
}
}
});
dataRenderer
应该是一个函数而不是一个JSON对象。这个函数应该接受JSON对象并将其转换为2D数组。
2D数组的格式如下:
[[Network1 AV/Speed, Network2 AV/Speed, Network3 AV/Speed],
[Network1 D/S, Network2 D/S, Network3 D/S],
[Network1 U/S, Network2 U/S, Network3 U/S]]
我在这里创建了一个Fiddle来演示。我已经添加了一个dataRenderer()
函数如下:
function dataRenderer() {
var result = [];
var avgSpeed = [];
var ds = [];
var us = [];
// Loop over each network
for (var network in data) {
// Add each of the stats for the network into the corresponding array
avgSpeed.push(data[network]["Avg. Speed"]);
ds.push(data[network]["D/S"]);
us.push(data[network]["U/S"]);
}
// Add the av speed, DS and US arrays to the result array creating a 2D array
result.push(avgSpeed);
result.push(ds);
result.push(us)
return result;
}
然后我修改了dataRenderer选项,使其指向函数而不是JSON对象数据:
var plot2 = $.jqplot('divGraphNetwork', [], {
...
dataRenderer: dataRenderer,
....
});
相关文章:
- 如何在javascript中创建动态json对象
- D3动态json密钥名称
- 生成动态json响应的Javascript
- 如何在HTML中使用AJAX查看动态JSON响应
- 访问动态 JSON 名称
- D3 动态 JSON 标记
- 用于加载动态 JSON 数据的 JQuery 移动事件
- 将动态 JSON 传递给 ddslick js 插件
- 从现有的 json 创建动态 json
- 如何在 d3.js 中处理动态 JSON 数据
- 如何在数据驱动文档中创建动态 json 并在 jsp 中获取 json 响应
- 从 json 响应解析动态 json 对象
- 如何将动态 JSON 字符串转换为 JavaScript 数组
- 创建带有回调的动态 JSON 数组(内部闭包问题)
- 生成动态 JSON 对象
- 如何在ajax调用中给出动态json文件名作为url
- 如何使用JQuery'发布动态JSON字符串;s get函数
- 带有空格的动态json数据
- 从下拉列表中传递动态json对象值
- 隐藏表列依赖于按钮在多个动态json数组键基于angularjs