matplotlib
Układy współrzędnych
Szukaj…
Uwagi
Matplotlib ma cztery różne układy współrzędnych, które można wykorzystać w celu ułatwienia pozycjonowania różnych obiektów, np. Tekstu. Każdy układ ma odpowiedni obiekt transformacji, który przekształca współrzędne z tego układu na tak zwany układ współrzędnych wyświetlania.
Układ współrzędnych danych to układ zdefiniowany przez dane na odpowiednich osiach. Jest to przydatne, gdy próbujesz ustawić jakiś obiekt względem wykreślonych danych. Zakres jest podany przez xlim
i ylim
właściwości Axes
. Odpowiednim obiektem transformacji jest ax.transData
.
Układ współrzędnych osi to układ powiązany z jego obiektem Axes
. Punkty (0, 0) i (1, 1) definiują lewy dolny i prawy górny narożnik osi. Jako taki jest użyteczny przy pozycjonowaniu względem osi, jak na przykład górny środek wykresu. Odpowiednim obiektem transformacji jest ax.transAxes
.
Układ współrzędnych rysunku jest analogiczny do układu współrzędnych osi, z tą różnicą, że jest powiązany z Figure
. Punkty (0, 0) i (1, 1) reprezentują lewy dolny i prawy górny róg figury. Jest to przydatne, gdy próbujesz ustawić coś względem całego obrazu. Odpowiadającym mu obiektem transformacji jest fig.transFigure
. fig.transFigure
.
Układ współrzędnych wyświetlania to układ obrazu podany w pikselach. Punkty (0, 0) i (szerokość, wysokość) to dolne lewe i prawe górne piksele obrazu lub wyświetlacza. Może być używany do absolutnego pozycjonowania. Ponieważ obiekty transformacji przekształcają współrzędne w ten układ współrzędnych, system wyświetlania nie ma z nim powiązanego obiektu transformacji. Jednak w razie potrzeby można użyć None
lub matplotlib.transforms.IdentityTransform()
.
Więcej informacji jest dostępnych tutaj .
Układy współrzędnych i tekst
Układy współrzędnych Matplotlib przydają się, gdy próbujesz opisać utworzone przez siebie wykresy. Czasami chcesz ustawić tekst względem swoich danych, na przykład podczas próby oznaczenia określonego punktu. Innym razem możesz chcieć dodać tekst na górze rysunku. Można to łatwo osiągnąć, wybierając odpowiedni układ współrzędnych, przekazując obiekt transformacji do parametru transform
w wywołaniu text()
.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([2.], [3.], 'bo')
plt.text( # position text relative to data
2., 3., 'important point', # x, y, text,
ha='center', va='bottom', # text alignment,
transform=ax.transData # coordinate system transformation
)
plt.text( # position text relative to Axes
1.0, 1.0, 'axes corner',
ha='right', va='top',
transform=ax.transAxes
)
plt.text( # position text relative to Figure
0.0, 1.0, 'figure corner',
ha='left', va='top',
transform=fig.transFigure
)
plt.text( # position text absolutely at specific pixel on image
200, 300, 'pixel (200, 300)',
ha='center', va='center',
transform=None
)
plt.show()