# Relative error zoemax = ock.variogram_func(P.inf) zoe /= zoemax zoe *= 100 # Variogram evolution rr = P.linspace(0, P.sqrt(xg.ptp()**2+yg.ptp()**2), 100) vv = ock.variogram_func(rr) # Plot P.figure(figsize=(8, 8)) axis = [xg.min(), xg.max(), yg.min(), yg.max()] kwmm = dict(vmin=zi.min(), vmax=zi.max()) kwsc = dict(lw=0.2, **kwmm) ax = P.subplot(221, aspect=1) P.imshow(zzg, extent=axis, interpolation='bilinear', origin='lower', alpha=.2, **kwmm) P.scatter(xi, yi, c=zi, s=20, lw=0.2, **kwmm) P.axis(axis) P.title('Input points') P.subplot(222, aspect=1) P.scatter(xo, yo, c=zo, s=40, lw=0.2, **kwmm) P.axis(axis) P.title('Interpolated points') P.subplot(223, aspect=1) P.scatter(xo, yo, c=zoe, s=40, lw=0.2, vmin=0, vmax=100) P.axis(axis) P.colorbar(shrink=.8) P.title('Relative interpolation error') P.subplot(224) P.plot(rr, vv) P.xlabel('Distance')
# Interpolate to random points xo, yo = random_points(np=npo) zo = krig(xi, yi, zi, xo, yo) # Plot # - source data axis = [xg.min(), xg.max(), yg.min(), yg.max()] kw = dict(vmin=zzg.min(), vmax=zzg.max()) kwim = dict(extent=axis, interpolation='bilinear', origin='lower', alpha=.2, **kw) kwsc = dict(lw=0.2, **kw) P.figure(figsize=(6, 3.5)) P.subplot(121) P.title('Source field') P.imshow(zzg, **kwim) P.scatter(xi, yi, c=zi, **kwsc) P.axis(axis) # - interpolated data P.subplot(122) P.title('Interpolated points') P.imshow(zzg, **kwim) P.scatter(xo, yo, c=zo, marker='s', s=30, **kwsc) P.axis(axis) P.tight_layout() savefigs(code_file_name(), verbose=False) P.close()
# Generate random field xg, yg, zzg = gridded_gauss3() xi, yi, zi = random_gauss3(np=npi) # Interpolate to random points xo, yo = random_points(np=npo) zo = krig(xi, yi, zi, xo, yo) # Plot # - source data axis = [xg.min(), xg.max(), yg.min(), yg.max()] kw = dict(vmin=zzg.min(), vmax=zzg.max()) kwim = dict(extent=axis, interpolation='bilinear', origin='lower', alpha=.2, **kw) kwsc = dict(lw=0.2, **kw) P.figure(figsize=(6, 3.5)) P.subplot(121) P.title('Source field') P.imshow(zzg, **kwim) P.scatter(xi, yi, c=zi, **kwsc) P.axis(axis) # - interpolated data P.subplot(122) P.title('Interpolated points') P.imshow(zzg, **kwim) P.scatter(xo, yo, c=zo, marker='s', s=30, **kwsc) P.axis(axis) P.tight_layout() savefigs(code_file_name(), verbose=False) P.close()