本文实例为大家分享了二维插值的三维显示具体代码,供大家参考,具体内容如下

# -*- 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实现二维插值的三维显示相关推荐

  1. python生成二维码_python生成二维码的实例详解

    python生成二维码的实例详解 版本相关 操作系统:Mac OS X EI Caption Python版本:2.7 IDE:Sublime Text 3 依赖库 Python生成二维码需要的依赖库 ...

  2. python中遍历二维数组_python遍历二维数组-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 二 维 数组 5.2.1 二 ...

  3. python重新执行条件_Python 基础(二)

    封面图片来源:沙沙野 内容概览Python 中的 type() 函数 Python 中的条件判断语句一: if Python 中的条件判断语句二:while Python 中的 type() 函数ty ...

  4. python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...

    本文实例讲述了Python实现二维数组按照某行或列排序的方法.分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对 ...

  5. python输入二维数组_Python输入二维数组方法

    Python输入二维数组方法 前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘.这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for ...

  6. python解析二维码_python解析二维码

    由于需要对二维码图片进行解析,操作环境是centos7.2,python版本是2.7.5,由于zbar只支持到Python2.6,所以准备采用源码编译安装的方式.具体步骤如下: 1.安装依赖包 yum ...

  7. python识别发票二维码_Python 实现二维码生成和识别

    今天突然想给自己自己做个头像,然后还是二维码的形式,这样只要扫一扫就可以访问我的主页.然后就开始自己的苦逼之路... 其实实现二维码java,c#,C++等都可以实现:由于自己正在学python,所以 ...

  8. python 二维数组元素返回二维坐标_python – 从二维数组中返回生成器而不是位置列表...

    我昨天正在进行一场游戏,我必须遍历一个二维阵列并找到标记为"d"的任何单元格的位置(其中单元格表示为" – "表示空白,"d"表示为脏). ...

  9. python怎么创建一个二维数组_python 创建二维数组的方法

    废话不多说,直接上代码: #coding=utf-8 def two_di_demo1(): a=[] for i in range(10): a.append([]) for j in range( ...

最新文章

  1. Python max() 函数
  2. hibernate中List一对多映射关系详解
  3. 【风控模型】融合模型Bagging构建信用评分卡模型
  4. GetClientRect()和GetWindowRect()
  5. tcga数据下载_好东西丨零基础入门TCGA
  6. CF1419E-Decryption【数论,dfs】
  7. CCNA-Cisco-Packet-Tracerchs(思科官网)安装教程以及使用
  8. 数据算法与结构基本知识
  9. 大数据城市规划 杨东_空头转多!前期大比例减仓的私募,目前开始加仓
  10. 从1亿个ip中找出访问次数最多的IP
  11. Android 为View实现双击效果
  12. 2019matlab安装
  13. 新闻管理系统的设计与实现
  14. ug中文字大小设置_UG编辑文字怎么放大或缩小?
  15. matlab生成流程图,matlab做流程图
  16. MAC将latex等大软件安装到移动硬盘
  17. mysql drop语句怎么用_SQL DROP 语句
  18. 《如何阅读一本书》思维导图
  19. scope曲线用plot画出、多个scope用plot画出、scop数据保存至工作空间
  20. 2021年汽车驾驶员(初级)考试APP及汽车驾驶员(初级)考试软件

热门文章

  1. c语言宏定义替换字符串,C语言中,宏替换的替换规则
  2. python 智能造句_[零基础学Python]正规地说一句话
  3. 手桌面上没有计算机,手把手教你电脑桌面图标都不见了怎么办
  4. linux 脚本 格式化,Formatting Long Lines 格式化多行字符的shell脚本
  5. 上拉加载_如何用Vue + Mint UI实现上拉加载更多
  6. java内部类的作用_java 内部类的好处和缺点(上)
  7. ubutun 更换网络源_Ubuntu 14.04用户修改更新源和替换软件源的方法
  8. IDEA debug模式,修改集合的值
  9. java中怎样任意跳转到指定行而不受循环语句限制
  10. 基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计