7

matplotlib で特定の軸にプロットするにはどうすればよいですか? 独自のプロット メソッドを持ち、標準の引数と kwargs を使用して線の色や幅などを調整する独自のオブジェクトを作成しました。また、特定の軸にもプロットできるようにしたいと考えています。

Axes オブジェクトを受け入れる軸プロパティがあることがわかりますが、それでも最後に作成された軸にのみプロットされます。

ここに私が欲しいものの例があります

fig, ax = subplots(2, 1)

s = my_object()
t = my_object()

s.plot(axes=ax[0])
t.plot(axes=ax[1])
4

2 に答える 2

8

コメントで言ったように 、pyplot 関数を Figure インスタンスにアタッチするにはどうすればよいですか? を読んでください。への OO とステートマシン インターフェイスの違いの説明については、 を参照してmatplotlibください。

プロット関数を次のように変更する必要があります

def plot(..., ax=None, **kwargs):
    if ax is None:
        ax = gca()
    ax.plot(..., **kwargs)
于 2013-06-13T14:18:15.297 に答える
1

特定の軸のプロット関数を使用できます。

import matplotlib.pyplot as plt
from scipy import sin, cos
f, ax = plt.subplots(2,1)
x = [1,2,3,4,5,6,7,8,9]
y1 = sin(x)
y2 = cos(x)
plt.sca(ax[0])
plt.plot(x,y1)
plt.sca(ax[1])
plt.plot(x,y2)
plt.show()

これは、2 つの異なるサブプロットにプロットする必要があります。

于 2013-06-13T11:27:24.693 に答える