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数据结构之二叉树的遍历实例
Apr 29 Python
python编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
选择Python写网络爬虫的优势和理由
Jul 07 Python
Django model update的多种用法介绍
Mar 28 Python
.dcm格式文件软件读取及python处理详解
Jan 16 Python
如何使用python代码操作git代码
Feb 29 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
Win10下用Anaconda安装TensorFlow(图文教程)
Jun 18 Python
python Socket网络编程实现C/S模式和P2P
Jun 22 Python
python实现计算图形面积
Feb 22 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
Jun 13 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实现水仙花数的4个示例分享
2014/04/08 PHP
php实现过滤UBB代码的类
2015/03/12 PHP
PHP可变函数学习小结
2015/11/29 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
jQuery获得指定元素坐标的方法
2015/04/14 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
jQuery.Validate表单验证插件的使用示例详解
2017/01/04 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
JS快速实现简单计算器
2020/04/08 Javascript
使用python实现扫描端口示例
2014/03/29 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
python中set()函数简介及实例解析
2018/01/09 Python
python实现简单名片管理系统
2018/11/30 Python
Python中请不要再用re.compile了
2019/06/30 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
Python原始套接字编程实例解析
2020/01/29 Python
python使用Geany编辑器配置方法
2020/02/21 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
单位人事专员介绍信
2014/01/11 职场文书
食品行业求职人的自我评价
2014/01/19 职场文书
感恩节活动方案
2014/01/27 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
美食节目策划方案
2014/05/31 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
联欢会开场白
2015/06/01 职场文书
公司考勤管理制度
2015/08/04 职场文书
mysql数据库实现设置字段长度
2022/06/10 MySQL