transforma.offset_copy #

Esto ilustra el uso de transforms.offset_copypara hacer una transformación que coloca un elemento de dibujo, como una cadena de texto, en un desplazamiento especificado en las coordenadas de la pantalla (puntos o pulgadas) en relación con una ubicación dada en cualquier coordenada.

Cada Artista (Texto, Línea2D, etc.) tiene una transformación que se puede configurar cuando se crea el Artista, como por ejemplo, mediante la función pyplot correspondiente. De forma predeterminada, suele ser la transformación Axes.transData, que pasa de unidades de datos a píxeles de pantalla. Podemos usar la offset_copyfunción para hacer una copia modificada de esta transformación, donde la modificación consiste en un desplazamiento.

transcompensar
import matplotlib.pyplot as plt
import matplotlib.transforms as mtransforms
import numpy as np


xs = np.arange(7)
ys = xs**2

fig = plt.figure(figsize=(5, 10))
ax = plt.subplot(2, 1, 1)

# If we want the same offset for each text instance,
# we only need to make one transform.  To get the
# transform argument to offset_copy, we need to make the axes
# first; the subplot function above is one way to do this.
trans_offset = mtransforms.offset_copy(ax.transData, fig=fig,
                                       x=0.05, y=0.10, units='inches')

for x, y in zip(xs, ys):
    plt.plot(x, y, 'ro')
    plt.text(x, y, '%d, %d' % (int(x), int(y)), transform=trans_offset)


# offset_copy works for polar plots also.
ax = plt.subplot(2, 1, 2, projection='polar')

trans_offset = mtransforms.offset_copy(ax.transData, fig=fig,
                                       y=6, units='dots')

for x, y in zip(xs, ys):
    plt.polar(x, y, 'ro')
    plt.text(x, y, '%d, %d' % (int(x), int(y)),
             transform=trans_offset,
             horizontalalignment='center',
             verticalalignment='bottom')

plt.show()

Galería generada por Sphinx-Gallery