Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Flot Как передать переменную в функцию отрисовки точки на графике (https://javascript.ru/forum/jquery/29230-flot-kak-peredat-peremennuyu-v-funkciyu-otrisovki-tochki-na-grafike.html)

Ren 20.06.2012 13:16

Flot Как передать переменную в функцию отрисовки точки на графике
 
Здравствуйте.

Мне нужно построить точки на графике трех типов:
- серые кружочки;
- белые кружочки;
- серые квадратики;
И чтобы фигуре начиная с некоторого номера, рисовался номер точки.

В документации к flot (http://flot.googlecode.com/svn/trunk/API.txt) говорится о том, что можно поменять вывод точек на графике, например так

function grect(ctx, x, y, radius, shadow)
{
ctx.beginPath();
ctx.fillStyle = "#999";
ctx.fillRect(x - size, y - size, 2*size, 2*size);
ctx.strokeStyle = '#000';
ctx.strokeRect(x - size, y - size, 2*size, 2*size);
}

series.points.symbol = grect;

Я создал три объекта series, и у каждого своя функция отрисовки точек:

series[0].points.symbol = gcircle;
series[1].points.symbol = wcircle;
series[2].points.symbol = grect;

Можно ли как нибудь передать в эту функцию отрисовки свою переменную (номер точки)?

Я пробовал:

- через глобальную переменную - счетчик, но при наведении на точку счетчик инкрементируется и пишет другой номер.

- через глобальный массив, куда запоминал координаты точек и их номера, но тоже не помогло, поскольку объектов siries три штуки, и номера сбиваются.

Подскажите, как можно решить эту проблему?

И можно ли у одного siries у разных точек задавать разные функции отрисовки? Например, половина квадратиков, а половина кружочков.

Заранее спасибо.


Часовой пояс GMT +3, время: 01:37.