0

如何将输入数据axisx和axisy更改为axisx数组或axisy数组,从输入数据[x1,x1],[x2,y2],[x3,y3]到[x1,x2,x3]和[y1,y2 ,y3]。它与axisy或axisx的技巧无关。

请查看折线图的输入数据。它的axisy数据是u=[100,35,35,30,105,40,35,30,40,20,15]。

   function d(k) {
    var n = [];
    for(var e = 0; e <= 10; e += 1) {
        n.push([e, parseInt(Math.random() * 30)])
    }
    var m = [];
    for(var e = 0; e <= 10; e += 1) {
        m.push([e, parseInt(Math.random() * 30)])
    }
    var j = [];
    for(var e = 0; e <= 10; e += 1) {
        j.push([e, parseInt(Math.random() * 30)])
    }
    var l = {
        series: {
            stack: true,
            bars: {
                show: true,
                barWidth: 0.4
            }
        },
        grid: {
            borderWidth: 0
        }
    };
    a.plot(k, [{
        data: n,
        color: "#E15656"
    }, {
        data: m,
        color: "#A6D037"
    }, {
        data: j,
        color: "#61A5E4"
    }], l)
}

jsfiddle

4

1 回答 1

1

您只需要在对象 ( ) 中指定详细信息(特别ticks是要使用的):yaxisoptionsl

    var l = {
            series: {
                stack: true,
                bars: {
                    show: true,
                    barWidth: 0.4
                }
            },
            grid: {
                borderWidth: 0
            },
            yaxis:{ 
                ticks: [1,3,17,23,35,43] //replace with the array of your dreams
            }
        };

更新了小提琴

编辑(我是回答/评论的新手,不知道评论编辑有时间限制):

好的,事实证明这个问题与我最初的解释非常不同。我的新解释是,Alouty 想对一组数据使用一对数组:一个包含 x 值数组 ( [x1,x2,x3,...]),另一个包含 y 值 ( [y1,y2,y3,...])。

在最终调用中.plot(),每个系列的数据对象必须是[[x1,y1],[x2,y2],...].

虽然数组u不是以这种形式创建的(见下文),但它在用作数据之前被转换为坐标对数组(时间序列值作为每对中的 x 值):

var u = [100, 35, 35, 30, 105, 40, 35, 30, 40, 20, 15];
var j = [];
for (var o = 0; o < u.length; o++) {
    j.push([new Date(2012, 5, o + 1), u[o]]);
}
var n = [{
    data: j,
    label: "Sales",
    color: "#E15656"},...

您将无法u直接用作数据。您需要将 x 和 y 数组混合到一个坐标对数组中,就像在现有代码中所做的那样。

于 2012-10-09T04:02:01.263 回答