2

これには imshow を使用するので、それを使用して問題を説明します。同じ軸にプロットしたい行列がいくつかあります。このようなもの:

import matplotlib.pyplot as plt
import numpy as np

a = np.array([[0,1,2],[0,1,2]])
x = np.array([0,1,2])
y = np.array([0,1])


a2 = np.array([[10,11,12],[10,11,12]])
x2 = np.array([10,11,12])
y2 = np.array([0,1])


plt.imshow(a,extent=[x.min(),x.max(),y.min(),y.max()])
plt.imshow(a2,extent=[x2.min(),x2.max(),y2.min(),y2.max()])

plt.show()

(このコードでは、最初の imshow が 2 番目の imshow によって上書きされます)

(ギャップをゼロで埋めることによって) x 軸と y 軸の 1 つのセットを持つ単一のマトリックスにそれらを結合できない理由は、結合されたマトリックスが巨大になり、ストリップ間に大きなスペースがあるためです。

4

1 に答える 1

3

上書きされることはなく、軸の制限は毎回最後の画像の範囲にリセットされるだけです。

だけお電話plt.autoscale()ください。

あなたが見ているものの簡単な例として:

import numpy as np
import matplotlib.pyplot as plt

data1, data2 = np.random.random((2,10,10))

fig, ax = plt.subplots()
ax.imshow(data1, extent=[-10, 0, -10, 0])
ax.imshow(data2, extent=[10, 20, 10, 20])

plt.show()

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

さて、私たちが電話するだけならautoscale

import numpy as np
import matplotlib.pyplot as plt

data1, data2 = np.random.random((2,10,10))

fig, ax = plt.subplots()
ax.imshow(data1, extent=[-10, 0, -10, 0])
ax.imshow(data2, extent=[10, 20, 10, 20])

ax.autoscale()

plt.show()

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

于 2012-12-01T15:24:39.187 に答える