Я пытаюсь найти способ построения стрелки, проходящей через точку, которую я выбрал заранее, и я хотел бы иметь возможность свободно устанавливать ширину хвоста и цвет этой стрелки.
Я пошел и посмотрел на библиотеку FancyArrowPatch из matplotlib, которую я уже использую для построения стрелок, идущих из одной точки в другую. Тем не менее, я не могу использовать его удовлетворительным образом.
Например, в следующем коде я пытаюсь построить стрелку, идущую от (-10,0) до (0,9) и проходящую через (-5,9).
import matplotlib.pyplot as plt
import matplotlib.patches as mpatch
import matplotlib.path as mpath
style = "simple,tail_width=10,head_width=30,head_length=60"
kw = dict(arrowstyle=style,color="#49107C")
Arrow = mpatch.FancyArrowPatch(path=mpath.Path([(-10,0),(-5,9),(0,9)],
mpath.Path.MOVETO,mpath.Path.CURVE3,mpath.Path.CURVE3]),**kw)
plt.gca().add_patch(Arrow)
После запуска этого кода я не получаю ожидаемого результата: даже если моя стрелка изогнута и фактически начинается с (-10,0) до конца (0,9), она не проходит (- 5,9).
Вот что я получаю: https://i.imgur.com/QwPgmM2.png
* +1012 *
Я хотел бы знать, есть ли способ решить эту проблему с этой библиотекой или мне нужно использовать другой, чтобы получить то, что я хочу.
С другой стороны, я также хотел бы иметь возможность построить изогнутую стрелку, которая после прохождения точки вернется к точной начальной точке (например, «эллиптическая» стрелка, идущая от (0,0) точка, идущая к (2,2) и возвращающаяся к (0,0).)
Заранее благодарю за помощь!