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 相关文章推荐
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
Oct 29 Python
使用python实现BLAST
Feb 12 Python
对python中array.sum(axis=?)的用法介绍
Jun 28 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
关于pymysql模块的使用以及代码详解
Sep 01 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
Django后台管理系统的图文使用教学
Jan 20 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
Pyinstaller加密打包应用的示例代码
Jun 11 Python
Python学习开发之图形用户界面详解
Aug 23 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
提高php编程效率技巧
2015/08/13 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
详解PHP中的 input属性(隐藏 只读 限制)
2017/08/14 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
详解JavaScript函数对象
2015/11/15 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python中的类学习笔记
2014/09/23 Python
Python中的tuple元组详细介绍
2015/02/02 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
django如何实现视图重定向
2019/07/24 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
护理学毕业生求职信
2013/11/14 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
前处理班长职位说明书
2014/03/01 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记