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中使用select模块实现非阻塞的IO
Feb 03 Python
Python写的英文字符大小写转换代码示例
Mar 06 Python
详解Python3.1版本带来的核心变化
Apr 07 Python
利用python程序帮大家清理windows垃圾
Jan 15 Python
Python中支持向量机SVM的使用方法详解
Dec 26 Python
了解不常见但是实用的Python技巧
May 23 Python
python 实现将多条曲线画在一幅图上的方法
Jul 07 Python
简单了解Django ContentType内置组件
Jul 23 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
Python通过类的组合模拟街道红绿灯
Sep 16 Python
Python中免验证跳转到内容页的实例代码
Oct 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
PHP的博客ping服务代码
2012/02/04 PHP
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
初识Node.js
2015/03/20 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
[01:57]2018年度DOTA2最具潜力解说-完美盛典
2018/12/16 DOTA
Python类的用法实例浅析
2015/05/27 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
python基于递归解决背包问题详解
2019/07/03 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
python如何写个俄罗斯方块
2020/11/06 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
设备管理实施方案
2014/05/31 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
法制主题班会教案
2015/08/13 职场文书
Python使用scapy模块发包收包
2021/05/07 Python
Java无向树分析 实现最小高度树
2022/04/09 Javascript