Flot добавить маркер к линии на графике

Я пытаюсь нарисовать график, который представляет вес человека (ось y) во времени (ось x). Мне также нужно показать маркер для события, такого как смена лекарства в определенный день. Можно ли добавить точку в серию данных только со значением времени, которое включается в рисунок линии, но не меняет рисунок линии?


person Ricardo    schedule 27.09.2010    source источник
comment
Можете ли вы сказать нам, какой язык/платформу/библиотеку вы используете?   -  person Oded    schedule 27.09.2010
comment
извините, это должен был быть график Flot   -  person Ricardo    schedule 28.09.2010


Ответы (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.

person Lasse Skindstad Ebert    schedule 05.10.2012
comment
примечание для будущих гуглов - стиль линии нельзя изменить изначально, но есть способы сделать это: stackoverflow.com/questions/14700417/ - person Chris B; 15.01.2014
comment
Как настроить интервал оси x в случае типа даты? - person Eugene Hoza; 03.06.2014

Существует плагин 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: Использование других символов, кроме кружков, для точек ( с плагином символов). Изучение его исходного кода может стать отправной точкой в ​​правильном направлении.

person DarrellNorton    schedule 09.12.2010

Почему бы вам просто не добавить еще одну серию для маркеров и установить точки как x = дату маркера, y = 0?

person Fiona - myaccessible.website    schedule 22.10.2010

Мне нужно, чтобы значение y находилось на линии, а не внизу графика. в итоге я получил две ближайшие даты до и после маркера и вычислил перехват y, а затем добавил это как значение y, и оно отображается именно там, где должно

person Ricardo    schedule 10.01.2013