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爬虫抓站的实用技巧
Aug 09 Python
python如何查看系统网络流量的信息
Sep 12 Python
Python进阶-函数默认参数(详解)
May 18 Python
Python 自动刷博客浏览量实例代码
Jun 14 Python
Python实现将doc转化pdf格式文档的方法
Jan 19 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
python中class的定义及使用教程
Sep 18 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
如何基于Python代码实现高精度免费OCR工具
Jun 18 Python
用Python制作mini翻译器的实现示例
Aug 17 Python
Pycharm新手使用教程(图文详解)
Sep 17 Python
python实现会员信息管理系统(List)
Mar 18 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调用三种数据库的方法(3)
2006/10/09 PHP
非常不错的MySQL优化的8条经验
2008/03/24 PHP
ezSQL PHP数据库操作类库
2010/05/16 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
详解Vuex中mapState的具体用法
2017/09/28 Javascript
JS实现的合并多个数组去重算法示例
2018/04/11 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
详解python Todo清单实战
2018/11/01 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
在python3中实现更新界面
2020/02/21 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
计算机专业大学生的自我评价
2013/11/14 职场文书
离婚案件上诉状
2015/05/23 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书