5

NxM サブプロットのパネルで、左の列と下の行に軸を表示する方法はありますか?

A|N|N|N
A|N|N|N
A|N|N|N
A|A|A|A

A = 軸、N = 軸なし

サブプロットが 10x8、3x4、4x9 などである場合があり、それらはすべて同じ x 軸と y 軸を持っています。そのサブセットの一番左と一番下に表示したいだけです。現時点では、どの軸にプロットしているかを知る必要があります

    if (figi-1) % 7 != 0:
        ax.set_yticklabels([])

    if figi < 29:
        ax1.set_xticklabels([])

事前に知る必要なく、NxM パネル配置に対してこれを一般化したいと思います。ありがとう。

編集:y軸を行う方法を見つけました。次を使用して、パネルの数をワイドに設定します。

nwide = 12
nhigh = 5

つまり、私はただできる

if (figi-1) % nwide != 0:
    ax.set_yticklabels([])

底のアイデアはありますか?

編集:うまくいきました。x 軸は次のとおりです。

if figi < (nwide*nhigh) - nwide:
    ax.set_xticklabels([])
4

1 に答える 1

6

最善の解決策はおそらくpyplot.subplots(). あなたは次のようにすることができます:

fig, axes = pyplot.subplots(nrows=3, ncols=4, sharex=True, sharey=True)

ここに画像の説明を入力

そして、左と下の軸だけにラベルが表示されます。

各サブプロットにアクセスするaxesには、マトリックスで行うように取得できます。ax = axes[i,j]

目盛りの位置を制御するには、次を使用できます。

ax.xaxis.set_tick_position('bottom')
ax.yaxis.set_tick_position('left')

軸ラベルを設定するには、次のことができます。

ax.set_label_text('Something')
于 2013-06-19T17:24:05.670 に答える