Jquery Flot, разный размер и цвет для каждой точки

Можем ли мы изменить следующие свойства точек на графике флота jquery:

размер точек: я в основном пытаюсь построить трехмерный график. Первые два измерения — это значения x и y, а значение третьего измерения будет отражено в размере точек. Чем больше значение, тем больше точка.

цвет точек. Опять же, я пытаюсь отобразить свойство, отличное от значений x и y. чем больше значение, тем темнее точка.

[EDIT]: я пытаюсь контролировать эти свойства для точек по отдельности, а не для всего графика.


person roopunk    schedule 19.01.2012    source источник


Ответы (1)


Я понимаю тебя сейчас. Единственный способ, которым я могу это сделать, - это передать функцию обратного вызова опции символа точки:

function someFunc(ctx, x, y, radius, shadow) 
{
  someFunc.calls++;
   if (someFunc.calls % 2 == 0)
   {
    ctx.arc(x, y, radius * 4, 0, shadow ? Math.PI : Math.PI * 2, false);
   }
   else
   {
     ctx.arc(x, y, radius, 0, shadow ? Math.PI : Math.PI * 2, false);
   }
}
someFunc.calls = 0;

var options = {
  series: {
    lines: { show: true },
    points: { show: true, symbol: someFunc}
  }
};

somePlot = $.plot($("#placeholder"), [ d1 ], options);

В приведенном выше примере я настраиваю размер радиуса для каждой другой точки:

введите здесь описание изображения

ПРИМЕР ЗДЕСЬ

person Mark    schedule 20.01.2012
comment
Спасибо. Это сделает работу. Параметр someFunc.calls будет отслеживать индекс отображаемой точки и совпадает с индексом массива data[], который был передан функции построения графика. Значение совокупности будет представлено в отдельном массиве pop_arr[] с индексом, синхронизированным с индексом массива данных. Радиус будет варьироваться в зависимости от pop_arr[someFunc.calls]. Идеально. - person roopunk; 20.01.2012