прекъснати отметки/решетъчни линии в flot

Аз съм доста нов в този API на flot. Искам да имам пунктирани решетки/отбелязани линии вместо плътна линия както по оста X, така и по оста Y. Може ли някой да ми помогне с това??

Благодаря предварително!


person Mumzee    schedule 05.02.2013    source източник
comment
моля някой да отговори...   -  person Mumzee    schedule 05.02.2013


Отговори (2)


Успях да създам пунктирани линии за маркировките на мрежата, като модифицирах библиотеката. В момента използвам Flot версия 0.8.0

Първо добавих нов атрибут под мрежата (около ред 400), точно под маркировките LineWidth:

markingsStyle: 'dashed'

Тъй като Flot използва canvas за изобразяване на диаграмите, добавих разширение dashedLineTo() за платното, използвайки това код от Дейвид Оуенс. Добавих го точно след плъгина за анализатор на цветове върху кода на Flot, с кредити, дадени на Дейвид. DashedLineTo() има следните параметри:

dashedLineTo(fromX, fromY, toX, toY, pattern)

За модела използвах [5,5], което означава, че ще се редуват 5px тире и 5px интервал.

Накрая промених функцията drawGrid в плъгина, когато маркировките се изчертават.

if(options.grid.markingsStyle == 'dashed') {
    ctx.dashedLineTo(xrange.from, yrange.from, xrange.to, yrange.to, [5,5])
} else {
    ctx.moveTo(xrange.from, yrange.from);
    ctx.lineTo(xrange.to, yrange.to);
}

Просто си помислих, че можете да използвате това като справка, когато променяте библиотеката.

person Rachelle Uy    schedule 17.05.2013
comment
благодаря ти Рейчъл за много изчерпателния и полезен отговор. това работи за мен +1 - person mhesabi; 18.06.2013

За съжаление Flot понастоящем не предоставя начин за промяна на стиловете на решетка/отбелязана линия. Ще трябва да промените самата библиотека.

person DNS    schedule 05.02.2013
comment
все още е недостъпен? - person Selva Ganapathi; 15.03.2018