サブプロットでxticksを設定する方法 質問する

サブプロットでxticksを設定する方法 質問する

単一のimshowプロットをプロットする場合は、

fig, ax = plt.subplots()
ax.imshow(data)
plt.xticks( [4, 14, 24],  [5, 15, 25] )

xtick ラベルを置き換えます。

今、私は12個のimshowプロットをプロットしています

f, axarr = plt.subplots(4, 3)
axarr[i, j].imshow(data)

これらのサブプロットの 1 つだけ xticks を変更するにはどうすればよいですか? サブプロットの軸には でのみアクセスできますaxarr[i, j]。特定のサブプロットだけにアクセスするにはどうすればよいでしょうかplt?

ベストアンサー1

方法は2つあります:

  1. サブプロットオブジェクトの軸メソッド(例:および)を使用するax.set_xticksax.set_xticklabels
  2. plt.scapyplot ステート マシン (つまり、pltインターフェイス)の現在の軸を設定するために使用します。

例として (これは、 を使用してsetpすべてのサブプロットのプロパティを変更する方法も示しています) を示します。

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=3, ncols=4)

# Set the ticks and ticklabels for all axes
plt.setp(axes, xticks=[0.1, 0.5, 0.9], xticklabels=['a', 'b', 'c'],
        yticks=[1, 2, 3])

# Use the pyplot interface to change just one subplot...
plt.sca(axes[1, 1])
plt.xticks(range(3), ['A', 'Big', 'Cat'], color='red')

fig.tight_layout()
plt.show()

ここに画像の説明を入力してください

おすすめ記事