python實現(xiàn)二維插值的三維顯示
更新時間:2018年12月17日 15:32:48 作者:TOliverQueen
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)二維插值的三維顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了二維插值的三維顯示具體代碼,供大家參考,具體內(nèi)容如下
# -*- 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的網(wǎng)格
x = np.linspace(-1, 1, 20)
y = np.linspace(-1, 1, 20)
x, y = np.meshgrid(x, y) # 20*20的網(wǎng)格數(shù)據(jù)
fvals = func(x, y) # 計算每個網(wǎng)格點上的函數(shù)值 15*15的值
fig = plt.figure(figsize=(9, 6)) #設(shè)置圖的大小
# Draw sub-graph1
ax = plt.subplot(1, 2, 1, projection='3d') #設(shè)置圖的位置
surf = ax.plot_surface(x, y, fvals, rstride=2, cstride=2, cmap=cm.coolwarm, linewidth=0.5, antialiased=True) #第四個第五個參數(shù)表示隔多少個取樣點畫一個小面,第六個表示畫圖類型,第七個是畫圖的線寬,第八個表示抗鋸齒
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('f(x, y)') #標(biāo)簽
plt.colorbar(surf, shrink=0.5, aspect=5) # 標(biāo)注
# 二維插值
newfunc = interpolate.interp2d(x, y, fvals, kind='cubic') # newfunc為一個函數(shù)
# 計算100*100的網(wǎng)格上的插值
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) # 標(biāo)注
plt.show()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python正則表達(dá)式中g(shù)roup與groups的用法詳解
本文主要介紹了Python正則表達(dá)式中g(shù)roup與groups的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Django之全局使用request.user.username的實例詳解
這篇文章主要介紹了Django之全局使用request.user.username的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python簡繁體轉(zhuǎn)換的簡單實現(xiàn)步驟
工作中需要將繁體中文轉(zhuǎn)換成簡體中文上網(wǎng)找了些資料,下面這篇文章主要給大家介紹了關(guān)于Python實現(xiàn)簡繁體轉(zhuǎn)換的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
pytorch之torch.flatten()和torch.nn.Flatten()的用法
這篇文章主要介紹了pytorch之torch.flatten()和torch.nn.Flatten()的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
python3中bytes和string之間的互相轉(zhuǎn)換
這篇文章主要介紹了python3中bytes和string之間的互相轉(zhuǎn)換,文中給出了詳細(xì)的介紹和示例代碼,相信對大家具有一定的參考價值,有需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-02-02
Python基礎(chǔ)之getpass模塊詳細(xì)介紹
最近在看Python標(biāo)準(zhǔn)庫官方文檔的時候偶然發(fā)現(xiàn)了這個模塊。仔細(xì)一看內(nèi)容挺少的,只有兩個主要api,就花了點時間閱讀了一下源碼,感覺挺實用的,在這安利給大家。下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)之getpass模塊的相關(guān)資料,需要的朋友可以參考下。2017-08-08
Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作詳解
最近用到了上采樣下采樣操作,pytorch中使用interpolate可以很輕松的完成,下面這篇文章主要給大家介紹了關(guān)于Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作的相關(guān)資料,需要的朋友可以參考下2022-04-04

