ゾーダーデモ#

アーティストの描画順序zorderは、浮動小数点数である属性によって決定されます。より高いアーティストzorderが上に描画されます。.を設定することで、個々のアーティストの順序を変更できますzorder。デフォルト値は、アーティストのタイプによって異なります。

アーティスト

Zオーダー

画像 ( AxesImage, FigureImage, BboxImage)

0

PatchPatchCollection

1

Line2DLineCollection(小目盛り、グリッド線を含む)

2

主目盛り

2.01

Text(軸ラベルとタイトルを含む)

3

Legend

5

プロット メソッドを呼び出すと、その特定のアイテムの zorder の値を明示的に設定できます。

ノート

set_axisbelowrcParams["axes.axisbelow"](デフォルト: 'line') は、目盛りとグリッド線の zorder を設定するための便利なヘルパーです。

描画は一度に行われAxesます。重複する Axes がある場合、2 番目の Axes のすべての要素は、相対的な zorder に関係なく、最初の Axes の上に描画されます。

import matplotlib.pyplot as plt
import numpy as np

r = np.linspace(0.3, 1, 30)
theta = np.linspace(0, 4*np.pi, 30)
x = r * np.sin(theta)
y = r * np.cos(theta)

次の例には、によって作成された と、Line2Dによって作成されplot() たドット (a PatchCollection) が含まれていscatter()ます。したがって、デフォルトでは、ドットは線の下にあります (最初のサブプロット)。2 番目のサブプロットではzorder、ドットを線の上に移動するように明示的に設定されています。

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 3.2))

ax1.plot(x, y, 'C3', lw=3)
ax1.scatter(x, y, s=120)
ax1.set_title('Lines on top of dots')

ax2.plot(x, y, 'C3', lw=3)
ax2.scatter(x, y, s=120, zorder=2.5)  # move dots on top of line
ax2.set_title('Dots on top of lines')

plt.tight_layout()
点の上に線、線の上に点

可視オブジェクトを作成する関数の多くは、パラメーターを受け入れzorderます。set_zorder()または、作成したオブジェクトを後で呼び出すこともできます。

x = np.linspace(0, 7.5, 100)
plt.rcParams['lines.linewidth'] = 5
plt.figure()
plt.plot(x, np.sin(x), label='zorder=2', zorder=2)  # bottom
plt.plot(x, np.sin(x+0.5), label='zorder=3',  zorder=3)
plt.axhline(0, label='zorder=2.5', color='lightgrey', zorder=2.5)
plt.title('Custom order of elements')
l = plt.legend(loc='upper right')
l.set_zorder(2.5)  # legend between blue and orange line
plt.show()
要素のカスタム順序

Sphinx-Gallery によって生成されたギャラリー