python二维插值_python实现二维插值的三维显示
本文实例为大家分享了二维插值的三维显示具体代码,供大家参考,具体内容如下
# -*- 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生成二维码_python生成二维码的实例详解
python生成二维码的实例详解 版本相关 操作系统:Mac OS X EI Caption Python版本:2.7 IDE:Sublime Text 3 依赖库 Python生成二维码需要的依赖库 ...
- python中遍历二维数组_python遍历二维数组-女性时尚流行美容健康娱乐mv-ida网
女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 二 维 数组 5.2.1 二 ...
- python重新执行条件_Python 基础(二)
封面图片来源:沙沙野 内容概览Python 中的 type() 函数 Python 中的条件判断语句一: if Python 中的条件判断语句二:while Python 中的 type() 函数ty ...
- python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...
本文实例讲述了Python实现二维数组按照某行或列排序的方法.分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对 ...
- python输入二维数组_Python输入二维数组方法
Python输入二维数组方法 前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘.这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for ...
- python解析二维码_python解析二维码
由于需要对二维码图片进行解析,操作环境是centos7.2,python版本是2.7.5,由于zbar只支持到Python2.6,所以准备采用源码编译安装的方式.具体步骤如下: 1.安装依赖包 yum ...
- python识别发票二维码_Python 实现二维码生成和识别
今天突然想给自己自己做个头像,然后还是二维码的形式,这样只要扫一扫就可以访问我的主页.然后就开始自己的苦逼之路... 其实实现二维码java,c#,C++等都可以实现:由于自己正在学python,所以 ...
- python 二维数组元素返回二维坐标_python – 从二维数组中返回生成器而不是位置列表...
我昨天正在进行一场游戏,我必须遍历一个二维阵列并找到标记为"d"的任何单元格的位置(其中单元格表示为" – "表示空白,"d"表示为脏). ...
- python怎么创建一个二维数组_python 创建二维数组的方法
废话不多说,直接上代码: #coding=utf-8 def two_di_demo1(): a=[] for i in range(10): a.append([]) for j in range( ...
最新文章
- Python max() 函数
- hibernate中List一对多映射关系详解
- 【风控模型】融合模型Bagging构建信用评分卡模型
- GetClientRect()和GetWindowRect()
- tcga数据下载_好东西丨零基础入门TCGA
- CF1419E-Decryption【数论,dfs】
- CCNA-Cisco-Packet-Tracerchs(思科官网)安装教程以及使用
- 数据算法与结构基本知识
- 大数据城市规划 杨东_空头转多!前期大比例减仓的私募,目前开始加仓
- 从1亿个ip中找出访问次数最多的IP
- Android 为View实现双击效果
- 2019matlab安装
- 新闻管理系统的设计与实现
- ug中文字大小设置_UG编辑文字怎么放大或缩小?
- matlab生成流程图,matlab做流程图
- MAC将latex等大软件安装到移动硬盘
- mysql drop语句怎么用_SQL DROP 语句
- 《如何阅读一本书》思维导图
- scope曲线用plot画出、多个scope用plot画出、scop数据保存至工作空间
- 2021年汽车驾驶员(初级)考试APP及汽车驾驶员(初级)考试软件
热门文章
- c语言宏定义替换字符串,C语言中,宏替换的替换规则
- python 智能造句_[零基础学Python]正规地说一句话
- 手桌面上没有计算机,手把手教你电脑桌面图标都不见了怎么办
- linux 脚本 格式化,Formatting Long Lines 格式化多行字符的shell脚本
- 上拉加载_如何用Vue + Mint UI实现上拉加载更多
- java内部类的作用_java 内部类的好处和缺点(上)
- ubutun 更换网络源_Ubuntu 14.04用户修改更新源和替换软件源的方法
- IDEA debug模式,修改集合的值
- java中怎样任意跳转到指定行而不受循环语句限制
- 基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计