Есть ли список стилей линий в matplotlib?
Я пишу сценарий, который будет делать некоторые заговоры. Я хочу, чтобы он построил несколько рядов данных, каждый из которых имеет свой уникальный стиль линии (не цвет). Я могу легко перебирать список, но есть ли такой список уже доступен в python?
5 ответов:
plot
документацияhttp://matplotlib.org/1.5.3/api/pyplot_api.html#matplotlib.pyplot.plot имеет список стилей линии + маркера:
character description '-' solid line style '--' dashed line style '-.' dash-dot line style ':' dotted line style '.' point marker ',' pixel marker 'o' circle marker 'v' triangle_down marker '^' triangle_up marker '<' triangle_left marker '>' triangle_right marker '1' tri_down marker '2' tri_up marker '3' tri_left marker '4' tri_right marker 's' square marker 'p' pentagon marker '*' star marker 'h' hexagon1 marker 'H' hexagon2 marker '+' plus marker 'x' x marker 'D' diamond marker 'd' thin_diamond marker '|' vline marker '_' hline marker
так как это часть
pyplot.plot
docstring, вы также можете увидеть его из терминала с:import matplotlib.pyplot as plt help(plt.plot)
из моего опыта приятно иметь цвета и маркеры в списке, чтобы я мог перебирать их при построении графика.
вот как я получаю список таких вещей. Пришлось немного покопаться.
import matplotlib colors_array = matplotlib.colors.cnames.keys() markers_array = matplotlib.markers.MarkerStyle.markers.keys()
Я не отвечаю непосредственно на вопрос о доступе к списку, но полезно иметь еще одну альтернативу на этой странице: есть дополнительный способ создания стилей пунктирных линий.
вы можете создавать линии между A и B с поперечными полосами, такими как
A||||||||||||||||||||||||||||||||||||||||||||||| B
A|| || || || || || || || || || || || || || || || B
A| | | | | | | | | | | | | | | | | | | | | | | | B
увеличивая ширину линии и указание пользовательского шаблона тире:
ax.plot(x, y, dashes=[30, 5, 10, 5])
документация
matplotlib.lines.Line2D
говорит оset_dashes(seq)
:установить последовательность тире, последовательность тире с вкл выкл чернил в точках. Если последовательность пуста или если сл = (никто, никто), метода linestyle будет установлен в твердой.
ПРИЗНАВАЕТ: последовательность включено-выключено чернил внутри очки
Я думаю, что это можно было бы сказать лучше: когда он рисует линию, последовательность чисел указывает, сколько точек нарисовано вдоль линии, а затем сколько точек осталось (если есть два числа), сколько нарисовано, сколько неокрашено (в случае четырех чисел в последовательности). С помощью четырех чисел можно создать пунктирную линию: [30, 5, 3, 5] дает 30-точечный тире, 5-точечный разрыв, 3-точечный тире (точка) и 5-точечный разрыв. Тогда это повторяемость.
эта страница документации объясняет такую возможность. посмотреть здесь для двух различных способов сделать это.