Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python griddata

作者:若此生已赞。   发布日期:2025-02-18   浏览:59

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import griddata

# 生成随机数据点
np.random.seed(123456)
x = np.random.rand(100) * 4.0 - 2.0
y = np.random.rand(100) * 4.0 - 2.0
z = x * np.exp(-x**2 - y**2)

# 定义网格
xi = np.linspace(-2.0, 2.0, 100)
yi = np.linspace(-2.0, 2.0, 100)
xi, yi = np.meshgrid(xi, yi)

# 使用griddata进行插值
zi = griddata((x, y), z, (xi, yi), method='cubic')

# 绘制结果
plt.figure()
plt.imshow(zi, extent=(-2, 2, -2, 2), origin='lower')
plt.scatter(x, y, c=z)
plt.colorbar()
plt.title('Interpolated using griddata with cubic method')
plt.show()

解释说明:

  • 生成随机数据点:我们使用 numpy 生成了 100 个随机的 (x, y) 坐标,并计算对应的 z 值。
  • 定义网格:创建了一个规则的网格 (xi, yi),用于插值后的数据可视化。
  • 插值:使用 scipy.interpolate.griddata 函数对不规则分布的数据点 (x, y, z) 进行插值,得到在规则网格上的插值结果 zi。这里使用的是三次样条插值方法(method='cubic')。
  • 绘制结果:使用 matplotlib 将插值结果可视化,并在图上标记原始数据点。

希望这段代码和解释对你有帮助!

上一篇:python rjust

下一篇:python str 转json

大家都在看

python时间格式

python ord和chr

python中的yield

python list.pop

python的for i in range

npm config set python

python代码简单

python读取文件夹

python中turtle

python 输出时间

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站