Как нарисовать линию вне оси в matplotlib (в координатах рисунка)? - PullRequest
13 голосов
/ 16 февраля 2011

Matplotlib имеет функцию, которая записывает текст в координатах фигуры (.figtext ())

Есть ли способ сделать то же самое, но для рисования линий?

В частности, моя цель - нарисовать линии, чтобы сгруппировать несколько отметок по оси Y.

1 Ответ

15 голосов
/ 17 февраля 2011

Это будет сделано:

from matplotlib import pyplot, lines
import numpy

x = numpy.linspace(0,10,100)
y = numpy.sin(x)*(1+x)

fig = pyplot.figure()
ax = pyplot.subplot(111)
ax.plot(x,y,label='a')

# new clear axis overlay with 0-1 limits
ax2 = pyplot.axes([0,0,1,1], axisbg=(1,1,1,0))

x,y = numpy.array([[0.05, 0.1, 0.9], [0.05, 0.5, 0.9]])
line = lines.Line2D(x, y, lw=5., color='r', alpha=0.4)
ax2.add_line(line)

pyplot.show()

Но если вы хотите выровнять по тикам, то почему бы не использовать координаты графика?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...