пунктирные линии/сетки во флоте

Я новичок в этом API флота. Я хочу иметь пунктирные линии сетки/линии вместо сплошной линии как по оси 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 использует холст для отображения диаграмм, я добавил расширение dashedLineTo() для холста, используя этот код от Дэвида Оуэнса. Я добавил его сразу после плагина синтаксического анализатора цветов поверх кода Flot, с кредитами, предоставленными Дэвиду. dashedLineTo() имеет следующие параметры:

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

Для шаблона я использовал [5,5], что означает чередование 5 пикселей тире и 5 пикселей пробела.

Наконец, я изменил функцию 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