2

特定の関数の時間発展を視覚化するために、いくつかの等高線図を並べてプロットしています。各等高線の値と色をすべてのサブプロット間で共有したいのですが、新しいサブプロットを追加するたびに等高線の値が再計算されるため (下の画像に示すように)、それらの間の比較は意味がありません。

カラーバー付きの等高線図 http://www.inf.utfsm.cl/~rbonvall/colorbar-and-contour-plots.png

cmap各サブプロット インスタンスで、colorbaraxes属性のさまざまな組み合わせを手動で設定しようとしましたが、成功しませんでした。すべてのサブプロット間で等高線図の属性を共有するにはどうすればよいですか? つまり、すべてのサブプロットで同じカラーバーを取得する方法は?

4

1 に答える 1

3

等高線図で使用する等高線値を直接指定できます。次に例を示します。

代替テキスト

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-1.2, 1.2, .025)
y = np.arange(-1.2, 1.2, .025)
X, Y = np.meshgrid(x, y)
Z = np.cos(X)*np.cos(Y)
Z = Z*Z

plt.subplot(1,2,1)
CS = plt.contour(X, Y, Z)   # set levels automatically
plt.clabel(CS, inline=1, fontsize=10)
plt.subplot(1,2,2)
CS = plt.contour(X, Y, Z-.1, CS.levels)  # set levels as previous levels
plt.clabel(CS, inline=1, fontsize=10)
plt.show()
于 2009-10-29T15:03:33.483 に答える