python实现二维插值的三维显示


Posted in Python onDecember 17, 2018

本文实例为大家分享了二维插值的三维显示具体代码,供大家参考,具体内容如下

# -*- coding: utf-8 -*-
"""
演示二维插值。
"""
# -*- coding: utf-8 -*-
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib as mpl
from scipy import interpolate
import matplotlib.cm as cm
import matplotlib.pyplot as plt
 
 
def func(x, y):
 return (x + y) * np.exp(-5.0 * (x ** 2 + y ** 2))
 
 
# X-Y轴分为20*20的网格
x = np.linspace(-1, 1, 20)
y = np.linspace(-1, 1, 20)
x, y = np.meshgrid(x, y) # 20*20的网格数据
 
fvals = func(x, y) # 计算每个网格点上的函数值 15*15的值
 
fig = plt.figure(figsize=(9, 6)) #设置图的大小
# Draw sub-graph1
ax = plt.subplot(1, 2, 1, projection='3d') #设置图的位置
surf = ax.plot_surface(x, y, fvals, rstride=2, cstride=2, cmap=cm.coolwarm, linewidth=0.5, antialiased=True) #第四个第五个参数表示隔多少个取样点画一个小面,第六个表示画图类型,第七个是画图的线宽,第八个表示抗锯齿
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('f(x, y)') #标签
plt.colorbar(surf, shrink=0.5, aspect=5) # 标注
 
# 二维插值
newfunc = interpolate.interp2d(x, y, fvals, kind='cubic') # newfunc为一个函数
 
# 计算100*100的网格上的插值
xnew = np.linspace(-1, 1, 100) # x
ynew = np.linspace(-1, 1, 100) # y
fnew = newfunc(xnew, ynew) # 仅仅是y值 100*100的值 np.shape(fnew) is 100*100
xnew, ynew = np.meshgrid(xnew, ynew)
ax2 = plt.subplot(1, 2, 2, projection='3d')
surf2 = ax2.plot_surface(xnew, ynew, fnew, rstride=2, cstride=2, cmap=cm.coolwarm, linewidth=0.5, antialiased=True)
ax2.set_xlabel('xnew')
ax2.set_ylabel('ynew')
ax2.set_zlabel('fnew(x, y)')
plt.colorbar(surf2, shrink=0.5, aspect=5) # 标注
plt.show()

python实现二维插值的三维显示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简单介绍Python中的filter和lambda函数的使用
Apr 07 Python
简单实现python进度条脚本
Dec 18 Python
Python对象转换为json的方法步骤
Apr 25 Python
Python socket模块方法实现详解
Nov 05 Python
使用pandas 将DataFrame转化成dict
Dec 10 Python
python实现IOU计算案例
Apr 12 Python
python 画图 图例自由定义方式
Apr 17 Python
keras实现多种分类网络的方式
Jun 11 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
Jun 29 Python
python语言中pandas字符串分割str.split()函数
Aug 05 Python
Python实现分段线性插值
Dec 17 #Python
Python 获取主机ip与hostname的方法
Dec 17 #Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
Dec 17 #Python
python样条插值的实现代码
Dec 17 #Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 #Python
python3爬虫获取html内容及各属性值的方法
Dec 17 #Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 #Python
You might like
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
jQuery 入门讲解1
2009/04/15 Javascript
jquery 双色表格实现代码
2009/12/08 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
jquery异步请求实例代码
2011/06/21 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
js实现动态改变radio状态的方法
2018/02/28 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
2018/07/25 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
bat和python批量重命名文件的实现代码
2016/05/19 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
python3对接mysql数据库实例详解
2019/04/30 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
物流专业大学生求职信范文
2013/10/28 职场文书
会计电算化专业毕业生自荐信
2013/12/20 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
总经理岗位职责范本
2014/02/02 职场文书
广告学专业求职信
2014/06/19 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
迟到检讨书范文
2015/01/27 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书