Можно ли контролировать ориентацию маркера matplotlib?
Я хотел бы знать, есть ли у меня треугольный маркер, можно ли контролировать его ориентацию? У меня есть ряд граней с их соответствующими вершинами, и я хотел бы построить их базовую карту. Я знаю, что это прямой script при использовании Mayavi и tvtk.PolyData. Но поскольку я имею дело с картами, а не с 3D-объектами, все становится немного сложнее.
ps: для карт я использую инструмент basemap.
Спасибо за любую помощь.
Ответы
Ответ 1
Вы можете создать пользовательские полигоны, используя аргумент ключевого слова marker
и передав ему кортеж из трех чисел (number of sides, style, rotation)
.
Чтобы создать треугольник, вы должны использовать (3, 0, rotation)
, пример показан ниже.
import matplotlib.pyplot as plt
x = [1,2,3]
for i in x:
plt.plot(i, i, marker=(3, 0, i*90), markersize=20, linestyle='None')
plt.xlim([0,4])
plt.ylim([0,4])
plt.show()
![Plot]()
Ответ 2
Посмотрите на модуль matplotlib.markers. Особый интерес представляет тот факт, что вы можете использовать произвольный многоугольник с заданным углом:
marker = (3, 0, 45) # triangle rotated by 45 degrees.