Я новичок в этом API флота. Я хочу иметь пунктирные линии сетки/линии вместо сплошной линии как по оси X, так и по оси Y. Кто-нибудь может мне с этим помочь??
Заранее спасибо!
Я новичок в этом API флота. Я хочу иметь пунктирные линии сетки/линии вместо сплошной линии как по оси X, так и по оси Y. Кто-нибудь может мне с этим помочь??
Заранее спасибо!
Я смог создать пунктирные линии для маркировки сетки, изменив библиотеку. В настоящее время я использую 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);
}
Просто подумал, что вы можете использовать это как ссылку при изменении библиотеки.
К сожалению, Flot в настоящее время не предоставляет способа изменить стили линий сетки/деления. Вам придется модифицировать саму библиотеку.