Я не совсем понимаю, почему я не могу создавать горизонтальные и вертикальные линии в указанных пределах. Я хочу привязать данные к этому окну. Однако стороны, похоже, не соблюдают мои инструкции. Почему это?
# CREATING A BOUNDING BOX
# BOTTOM HORIZONTAL
plt.axhline(y=.4, xmin=0.25, xmax=0.402, linewidth=2, color = 'k')
# RIGHT VERTICAL
plt.axvline(x=0.402, ymin=0.4, ymax = 0.615, linewidth=2, color='k')
# LEFT VERTICAL
plt.axvline(x=0.1, ymin=0.58, ymax = 0.79, linewidth=2, color='k')
plt.show()
matplotlib
Рохит
источник
источник
hlines
илиvlines
, соответственно, так как это более тривиальным , чем обычныйplot
IMOЭто может быть распространенной проблемой для новых пользователей Matplotlib при рисовании вертикальных и горизонтальных линий. Чтобы понять эту проблему, вы должны знать, что в Matplotlib существуют разные системы координат .
Метод axhline и axvline используются для рисования линий в осях координат . В этой системе координат координата левой нижней точки равна (0,0), а координата правой верхней точки - (1,1), независимо от диапазона данных вашего графика. Оба параметра
xmin
иxmax
находятся в диапазоне [0,1].С другой стороны, методы hlines и vlines используются для рисования линий в координатах данных . Диапазон для
xmin
иxmax
находится в пределах диапазона данных по оси x.Возьмем конкретный пример,
Это даст следующий сюжет:
Значения
xmin
иxmax
одинаковы для методаaxhline
andhlines
. Но длина производимой лески другая.источник
Если вы хотите добавить ограничивающую рамку, используйте прямоугольник:
Rectangle
доктористочник