python matplotlib тире-точка-точка - как?

Я использую Python и Matplotlib для создания графического вывода.
Есть ли простой способ создать стиль штрих-пунктир-точка?
Я знаю о '--', '-.', а также ':' опции. К несчастью, '-..' не приводит к штрих-пунктирной линии.
Я посмотрел на set_dashes команда, но это, кажется, контролирует длину штрихов и расстояние между двумя соседними штрихами.
Одним из вариантов может быть нанесение двух линий друг на друга; одна пунктирная с достаточным пространством между штрихами - и одна пунктирная, с точками, большими, как штрихи, широкими и разнесенными, так что две точки находятся между каждой из штрихов. Я не сомневаюсь, что это можно сделать, я просто надеюсь на более легкий путь.
Я пропустил вариант?

1 ответ

Решение

Вы можете определить пользовательские тире:

import matplotlib.pyplot as plt

line, = plt.plot([1,5,2,4], '-')
line.set_dashes([8, 4, 2, 4, 2, 4]) 
plt.show()

[8, 4, 2, 4, 2, 4] средства

  • 8 очков, (тире)
  • 4 балла,
  • 2 балла, (точка)
  • 4 балла,
  • 2 балла, (точка)
  • 4 балла

@ Ахим отметил, что вы также можете указать dashes параметр:

plt.plot([1,5,2,4], '-', dashes=[8, 4, 2, 4, 2, 4])
plt.show()

дает такой же результат, как показано выше.

Другие вопросы по тегам