Я пытаюсь нарисовать график, который представляет вес человека (ось y) во времени (ось x). Мне также нужно показать маркер для события, такого как смена лекарства в определенный день. Можно ли добавить точку в серию данных только со значением времени, которое включается в рисунок линии, но не меняет рисунок линии?
Flot добавить маркер к линии на графике
Ответы (4)
Вы можете использовать маркировку для отображения линии или интервала на графике.
Вот пример: http://people.iola.dk/olau/flot/examples/annotating.html
В основном вы просто добавляете это, чтобы добавить вертикальную линию:
var myPlot = $.plot(element, data, {
grid: {
markings: [
{ color: '#000', lineWidth: 1, xaxis: { from: 2, to: 2 } },
]
}
});
Это нарисует черную вертикальную линию шириной 1px при x=2.
Существует плагин Flot Symbols, который позволяет настроить форму точки с помощью обратного вызова. Затем вы можете просто построить это во второй серии на той же оси и установить show lines = false.
Плагин символов: http://code.google.com/p/flot/source/browse/trunk/jquery.flot.symbol.js?r=263 Обратите внимание, что эта ссылка содержит исходный код плагина символа флота. Поэтому выполните поиск под исходной ссылкой, пока не найдете файл jquery.flot.symbol.js.
Вот пример с текущего веб-сайта Flot: Использование других символов, кроме кружков, для точек ( с плагином символов). Изучение его исходного кода может стать отправной точкой в правильном направлении.
Почему бы вам просто не добавить еще одну серию для маркеров и установить точки как x = дату маркера, y = 0?
Мне нужно, чтобы значение y находилось на линии, а не внизу графика. в итоге я получил две ближайшие даты до и после маркера и вычислил перехват y, а затем добавил это как значение y, и оно отображается именно там, где должно