0

matplotlib の Contourf を使用して等高線図を作成しようとしています。データの特定の領域を拡大し、残りを未プロットのままにする方法はありますか? たとえば、水平方向の範囲が -1 から 101 になるかもしれませんが、0 から 100 までのデータをプロットしたいだけでプロットの境界を左が 0、右が 100 の位置に描画します。「extent」キーワードでうまくいくと思ったのですが、X と Y のデータが与えられると無効になります。無関係なデータをさまざまな方法でマスクできることはわかっていますが、それではプロットの境界が関心領域を超えて引き出されたままになり、これは私が望んでいるものではありません。データを関心領域にフィルタリングまたは補間して、そのフィルタリングされたデータをcontourfに渡すこともできると思いますが、contourfを特定の領域に集中させることができれば、はるかに簡単になります。ありがとう。

4

1 に答える 1

1

おそらくあなたが探しているものplt.xlim

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,101,100)
y = np.linspace(-1,101,100)
x, y = np.meshgrid(x, y)
z = x*x+y*y
plt.figure()
plt.xlim(0, 50)
plt.contourf(x, y, z)
plt.show()

ここに画像の説明を入力

上記では、単に変更を強調するplt.xlim(0, 50)代わりに使用されました。plt.xlim(0,100)プロットなしplt.xlim(0, 50)では次のようになります。

ここに画像の説明を入力

于 2012-12-10T20:41:44.330 に答える