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 smtplib实现发送邮件功能
May 22 Python
Python生成短uuid的方法实例详解
May 29 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
python for 循环获取index索引的方法
Feb 01 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
python ctypes库2_指定参数类型和返回类型详解
Nov 19 Python
python 实现屏幕录制示例
Dec 23 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
Python中的特殊方法以及应用详解
Sep 20 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
Django项目如何获得SSL证书与配置HTTPS
Apr 30 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
隐性调用php程序的方法
2009/03/09 PHP
php array_unique之后json_encode需要注意
2011/01/02 PHP
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
JS实现div居中示例
2014/04/17 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
js如何验证密码强度
2020/03/18 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
Python获取当前时间的方法
2014/01/14 Python
Python中文编码那些事
2014/06/25 Python
Python实现简单状态框架的方法
2015/03/19 Python
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
pandas带有重复索引操作方法
2018/06/08 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
街道务虚会发言材料
2014/10/20 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
python 远程执行命令的详细代码
2022/02/15 Python