我要显示大量的json数据,遗憾的是,它不是格式为[x,y]
的flot默认格式,而是格式[y,x
],现在,我已经试着这样做:
var row = {
data: $data.datapoints,
label: $data.target,
yaxis: 2,
};
和xaxis,yaxis 1和2值的其他组合,但没有任何变化,我真的需要我的线条是水平的而不是垂直的。
flot的标题是:
*! Javascript plotting library for jQuery, v. 0.7.
答案 0 :(得分:3)
你可以遍历整个数组。
var initialArray = [
[2,1],
[4,3],
[6,5],
[8,7]
];
var cleanArray = [];
var i=0;
for (i=0;i<initialArray.length;i++){
cleanArray[i] = [initialArray[i][1], initialArray[i][0],]
}
/*Array is now:
[
[1,2],
[3,4],
[5,6],
[7,8]
];
*/
如果你将它作为一个功能,可以获得奖励积分。有更优雅的方法来解决这个问题。
答案 1 :(得分:1)
在@ Inconito的回答中工作......这是另一种“反转”数组中值的方法。
function fixData(d /* data array */) {
d.forEach(function(i,el) {
return [el[1],el[0]];
});
}
/* example data generation */
var d1 = [], d2 = [];
for( var i = 0; i < 100000; i++ ) {
var y = i,
x = i;
d1.push([y,x]);
d2.push([y/2,x/4]);
}
/* reverse the data */
fixData(d1);
fixData(d2);
/* plot it */
$.plot($("#placeholder"), [d1,d2]);