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实现的一个火车票转让信息采集器
Jul 09 Python
Python 40行代码实现人脸识别功能
Apr 02 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
Jan 09 Python
python SQLAlchemy的Mapping与Declarative详解
Jul 04 Python
python递归法解决棋盘分割问题
Jul 17 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
python向企业微信发送文字和图片消息的示例
Sep 28 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实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
javascript实现轮显新闻标题链接
2007/08/13 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
用python实现批量重命名文件的代码
2012/05/25 Python
python实现无证书加密解密实例
2014/10/27 Python
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
Ajax的工作原理
2015/12/04 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
普通院校学生的自荐信
2013/11/27 职场文书
代办委托书怎样写
2014/04/08 职场文书
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫