python二维插值_SciPy二元样条插值

16. SciPy二元样条插值

之前的章节的插值基本上都是一个变量x,本章就二元(二维)的插值问题进行展开。

在SciPy模块库的scipy.interpolate子模块里提供了interp2d方法函数可以实现二维插值。

16.1 绘制二元可视化数据

Python里可视化输出的模块很多,但比较常用的是matplotlib模块来实现数据的可视化的输出。在matplotlib模块里的子模块pyplot里提供很多的类似matlib的一些绘制函数,本章、本网并没有意愿详述matplotlib模块库,有意学习pyplot的可以访问其官方网站系统学习。

1). 用matplotlib绘制二维可视化数据首先要引入相应的模块库。

import numpy as np, matplotlib.pyplot as plt

from mpl_toolkits.mplot3d.axes3d import Axes3D

这里还引入了mpl_toolkits.mplot3d.axes3d模块,目前是支持三维显示。

2). 接下来可以定义一个二元的$f(x, y)$函数。

def f(x,y):

return np.sin(x) + np.sin(y)

3). 定义网格数据:

t = np.linspace(-3, 3, 100)

domain = np.meshgrid(t, t)

有关meshgrid函数可以参考本站的NumPy部分的meshgird函数内容。domain变量是一个列表,里面有两个numpy的array。再将网格数据提取出来作为X和Y。在将X和Y代入$f(x, y)$函数得到Z值。

X, Y = domain

Z = f(*domain)

4). 绘制$f(x, y)$,这里使用了subplot2grid函数。

fig = plt.figure()

ax1 = plt.subplot2grid((2,2), (0,0), aspect='equal')

p = ax1.pcolor(X, Y, Z)

fig.colorbar(p)

CP = ax1.contour(X, Y, Z, colors='k')

ax1.clabel(CP)

ax1.set_title('Contour plot')

语句subplot2grid((

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值