我已經插入了一個圖并擴展了 x 和 y,這給了我以下等高線圖。如何重新排列 Z 矩陣,使紅框外的點為 0。
x=data.columns.astype('float64')
y=data.index.to_numpy()
z=data.to_numpy()
X,Y = np.meshgrid(x, y)
ratio = 4
x_new = x*ratio
y_new=y*ratio
#plt.plot(x_new,y_new)
f = interpolate.interp2d(x, y, z, kind='linear')
z_new = f(x_new, y_new)
X_new,Y_new = np.meshgrid(x_new, y_new)
plt.contourf(X_new, Y_new, znew, alpha = 1, cmap=plt.cm.inferno)

uj5u.com熱心網友回復:
這是一個最小的示例,它應該很容易適應您的情況。該np.where函式是您的朋友:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-15, 15, 301)
y = np.linspace(-15, 5, 201)
X_new, Y_new = np.meshgrid(x, y)
znew = np.random.randn(*X_new.shape)
znew = np.where((X_new > 5) & (X_new < 10) &
(Y_new > -2) & (Y_new < 2), znew, 0)
plt.contourf(X_new, Y_new, znew, alpha = 1, cmap=plt.cm.inferno)

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/357835.html
標籤:Python 麻木的 matplotlib scipy 插值
下一篇:在同一個y刻度內繪制多個水平條
