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应用程序在windows下不出现cmd窗口的办法
May 29 Python
基于Django filter中用contains和icontains的区别(详解)
Dec 12 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
Python 实现数据结构中的的栈队列
May 16 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
python 实现多维数组(array)排序
Feb 28 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
Feb 28 Python
python小白学习包管理器pip安装
Jun 09 Python
python 监控logcat关键字功能
Sep 04 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
详解如何使用Pytest进行自动化测试
Jan 14 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 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下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
js实现五星评价功能
2017/03/08 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
jQuery zTree如何改变指定节点文本样式
2020/10/16 jQuery
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
Python列表(list)常用操作方法小结
2015/02/02 Python
Python手机号码归属地查询代码
2016/05/04 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
Python 字符串与二进制串的相互转换示例
2018/07/23 Python
python学生信息管理系统(完整版)
2020/04/05 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
Python实现中值滤波去噪方式
2019/12/18 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
Python对wav文件的重采样实例
2020/02/25 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
Laura Mercier官网:彩妆大师罗拉玛斯亚的化妆品牌
2018/01/04 全球购物
德国旅游网站:weg.de
2018/06/03 全球购物
Java面试笔试题大全
2016/11/23 面试题
个人简历的自荐信
2013/10/23 职场文书
高校教师自荐信范文
2014/03/13 职场文书
销售经理岗位职责
2014/03/16 职场文书
委托培训协议书
2014/11/17 职场文书