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中的字典与成员运算符初步探究
Oct 13 Python
python实现换位加密算法的示例
Oct 14 Python
利用Python实现原创工具的Logo与Help
Dec 03 Python
使用Python开发SQLite代理服务器的方法
Dec 07 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
在Pycharm中将pyinstaller加入External Tools的方法
Jan 16 Python
Python File(文件) 方法整理
Feb 18 Python
Python的互斥锁与信号量详解
Sep 12 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 Python
Keras实现DenseNet结构操作
Jul 06 Python
python+selenium实现12306模拟登录的步骤
Jan 21 Python
python 实现体质指数BMI计算
May 26 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
用PHP将数据导入到Foxmail
2006/10/09 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
php+highchats生成动态统计图
2014/05/21 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
vue-父子组件和ref实例详解
2019/11/10 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
Python实现基于SVM的分类器的方法
2019/07/19 Python
python处理大日志文件
2019/07/23 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
Loreto Gallo英国:欧洲领先的在线药房
2021/01/21 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
经典洗发水广告词
2014/03/13 职场文书
公司合作意向书
2014/04/01 职场文书
团日活动总结模板
2014/06/25 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL