Я использовал Matplotlib для построения линий на фигуре. Теперь я хотел бы установить стиль, в частности маркер, для отдельных точек на линии. Как мне это сделать?
Чтобы прояснить мой вопрос, я хочу иметь возможность установить стиль для отдельных маркеров на линии, а не на каждый маркер на указанной линии.
python
matplotlib
dbmikus
источник
источник
Ответы:
Укажите ключевое слово args
linestyle
и / илиmarker
в своем звонкеplot
.Например, используя пунктирную линию и маркеры синего круга:
Быстрый вызов для того же:
Вот список возможных стилей линий и маркеров:
редактировать: с примером маркировки произвольного подмножества точек, как было запрошено в комментариях:
Этот последний пример использования
markevery
kwarg возможен начиная с версии 1.4+, благодаря слиянию этой ветви функций . Если вы застряли на старой версии matplotlib, вы все равно можете добиться результата, наложив график рассеяния на линейный график. Смотрите историю изменений для более подробной информации.источник
matplotlib.markers.MarkerStyle.markers
, который возвращает словарь, аналогичный тому, который был опубликован выше.Есть картинка, показывающая название и описание всех маркеров, надеюсь, она вам поможет.
источник
Для дальнейшего использования - у
Line2D
художника, возвращаемогоplot()
также, естьset_markevery()
метод, который позволяет вам устанавливать маркеры только в определенных точках - см. Https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D. set_markeveryисточник
Простой способ изменить конкретную форму маркера точки, ее размер ... состоит в том, чтобы сначала построить ее со всеми другими данными, а затем построить еще один график только с этой точкой (или набором точек, если вы хотите изменить стиль нескольких точек). , Предположим, мы хотим изменить форму маркера второй точки:
Результат: участок с несколькими маркерами
источник