Взгляните на учебник Transformations (вау, на поиски ушло много копаний -!)
В частности, axes.transData.transform(points)
возвращает координаты пикселей, где (0,0) - левый нижний угол области просмотра.
import matplotlib.pyplot as plt
# set up a figure
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.arange(0, 10, 0.005)
y = np.exp(-x/2.) * np.sin(2*np.pi*x)
ax.plot(x,y)
# what's one vertical unit & one horizontal unit in pixels?
ax.transData.transform([(0,1),(1,0)])-ax.transData.transform((0,0))
# Returns:
# array([[ 0., 384.], <-- one y unit is 384 pixels (on my computer)
# [ 496., 0.]]) <-- one x unit is 496 pixels.
Существуют различные другие преобразования, которые вы можете сделать - координаты относительно ваших данных, относительно осей, как пропорция фигуры или в пикселях для фигуры (учебник по преобразованиям действительно хорош).
Чтобы преобразовать между пикселями и точками (точка составляет 1/72 дюйма), вы можете поэкспериментировать с matplotlib.transforms.ScaledTransform
и fig.dpi_scale_trans
(учебник имеет что-то на это, я думаю).