下のプロットは、matplotlib.pyplotの上に重ねてグリッドを表示するmatplotlibのcontourf図です。matplotlib pyplot画像を長方形の枠の外に白くする方法
Rectangle枠の外でcontourfプロットを白くするにはどうすればよいでしょうか?
下のプロットは、matplotlib.pyplotの上に重ねてグリッドを表示するmatplotlibのcontourf図です。matplotlib pyplot画像を長方形の枠の外に白くする方法
Rectangle枠の外でcontourfプロットを白くするにはどうすればよいでしょうか?
これはハックのようなものですが、これらの位置で等高線プロットを隠すために、黒い境界矩形のサイズで白い四角形を描くことができると思います。
コンタープロットの上にpcolormeshを使用して、その下の領域を非表示にすることができます。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-120.,120.,13)
X,Y = np.meshgrid(x,x)
Z = X*np.sqrt(np.abs(Y))*np.exp(-(X**2+Y**2)/3000.)
Xf = X.flatten()
Yf = Y.flatten()
Zf = Z.flatten()
cond = Xf**2+Yf**2 < 105**2
Xf = Xf[cond]
Yf = Yf[cond]
Zf = Zf[cond]
cond2 = X**2+Y**2 < 105**2
mask = np.zeros_like(X)
mask = np.ma.masked_array(mask,mask=cond2)
fig, ax = plt.subplots()
ax.tricontourf(Xf,Yf,Zf, levels=np.linspace(Z.min(), Z.max(), 10))
dx=np.diff(X[0,:])[0]; dy=np.diff(Y[:,0])[0]
ax.pcolormesh(X,Y,mask, zorder=2, cmap="gray", vmin=-1)
ax.pcolormesh(X-dx,Y-dy,mask, zorder=2, cmap="gray", vmin=-1)
ax.pcolormesh(X,Y-dy,mask, zorder=2, cmap="gray", vmin=-1)
ax.pcolormesh(X-dx,Y,mask, zorder=2, cmap="gray", vmin=-1)
ax.scatter(Xf,Yf, c="k", s=5, zorder=3)
plt.show()
これはクールだと仕事ができます。私はそれを撃つだろう。イメージには、領域を区切るドットがあります。私は私の例の四角形のような線でそれらを置き換えることができますか? –
散布図よりも線を生成するのが少し複雑です。そのためにドットを使用しました。もちろん、あなたが好きなら、そこにラインをプロットすることもできます。 – ImportanceOfBeingErnest