построение отрицательных чисел с помощью flot / jquery - PullRequest
1 голос
/ 08 июля 2010

Я знаю, что я здесь упускаю что-то отсталое ... Все, что я пытаюсь сделать, это график f (x) = 2500 для диапазона от -75 до 75. Это должно сделать горизонтальную линию. Прямо сейчас, я думаю, что это недоразумение с моей стороны некоторых особенностей массивов. Начинается с 0 и до 75 нормально, график не ниже 0. (Я получаю половину строки)

for(x = -75; x<75; x++)
{
    a_const[x] = [x, 2250];
}

Я уверен, что проблема в этом. Вот моя функция .plot, просто чтобы быть уверенным.

$.plot(
        $("#mydiv"), 
        [
            //{label : "f(x) = x^2", data : a_exp},
            //{label : "f(x) = sqrt(x)", data : a_sqroot},
            //{label : "f(x) = 3root(x)", data : a_cuberoot}
            {label: "constant", data : a_const}

        ],
        {
            //yaxis: {min:-5000},
            xaxis: {min:-75},
            yaxis: {min:-1000},
            yaxis: {max:4000},
            grid: {hoverable:true, clickable:true },
            series: { points: {show:true}, lines:{show:true}}

        }
    );

Ответы [ 2 ]

2 голосов
/ 08 июля 2010

У вас не может быть отрицательных индексов массива.Просто выполните

for (x = -75, x < 75; x++ )
{
      a_const.push( [x,2250] );
}

. В результате получатся элементы с индексами от 0 до 149, но содержащие пары от [-75,2250] до [75,2250].

0 голосов
/ 08 июля 2010

Н.М., разобрался. [-75] a [-74] (и т. д.) не видны флотом, чтобы сделать его отрицательным. Решение:

for(x = -75; x<75; x++)
{
    a_const[x+75] = [x, 2250];
}

Было бы неплохо найти / процитировать официальное правило по отрицательным индексам.

...