我有一個二維直方圖(x,y 坐標和“權重”),我需要做一個樣條插值并提取資料(所以不僅僅是圖形),我怎么能用 python 做到這一點?(我在這里附上歷史)謝謝!光照貼圖 X_Z
uj5u.com熱心網友回復:
你可以使用scipy,我從這里拿了下面的例子并稍微修改了一下:
from scipy import interpolate
import matplotlib.pyplot as plt
# define range of x values
x = np.arange(-5.01, 5.01, 0.25)
# define range of z values
z = np.arange(-5.01, 5.01, 0.25)
# create a meshgrid
xx, zz = np.meshgrid(x, z)
# these weights would be given to you in your histogram - here is an example function to generate weights
weights = np.sin(xx**2 zz**2)
# create interpolation object
f = interpolate.interp2d(x, z, weights, kind='cubic')
# generate new ranges of x and z values
xnew = np.arange(-5.01, 5.01, 1e-2)
znew = np.arange(-5.01, 5.01, 1e-2)
# interpolate
weightsnew = f(xnew, znew)
# plot
plt.imshow(weightsnew)
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/326468.html
標籤:Python matplotlib scipy 直方图 样条
上一篇:如何使餅圖的一部分透明
