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 30 Python
python使用psutil模块获取系统状态
Aug 27 Python
python绘制简单折线图代码示例
Dec 19 Python
pycharm 在windows上编辑代码用linux执行配置的方法
Oct 27 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
18个Python脚本可加速你的编码速度(提示和技巧)
Oct 17 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
Python输出指定字符串的方法
Feb 06 Python
Python3开发环境搭建详细教程
Jun 18 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
python 实现socket服务端并发的四种方式
Dec 14 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 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安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
php反射应用示例
2014/02/25 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
2019/12/12 PHP
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
js和jquery对dom节点的操作(创建/追加)
2013/04/21 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Python中super()函数简介及用法分享
2016/07/11 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
python gdal安装与简单使用
2019/08/01 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
纽约手袋品牌:KARA
2018/03/18 全球购物
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
用友笔试题目
2016/10/25 面试题
王老吉广告词
2014/03/20 职场文书
三方合作协议书范本
2014/04/18 职场文书
谢师宴学生致辞
2015/07/27 职场文书
导游词之山东红叶谷
2019/10/31 职场文书