欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python報(bào)錯(cuò)TypeError: Input z must be 2D, not 3D的解決方法

 更新時(shí)間:2021年12月20日 10:30:00   作者:shayuxing  
大家好,本篇文章主要講的是python報(bào)錯(cuò)TypeError: Input z must be 2D, not 3D的解決方法,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下

目前,在使用python處理一個(gè)nc文件繪制一個(gè)風(fēng)場圖時(shí),出現(xiàn)了以下報(bào)錯(cuò)

雖然圖片畫出來了,但是很丑而且沒有理想的填充顏色!

但是不知道為啥,但是參考畫圖過程,分析這個(gè)其中的Z應(yīng)該指的繪制等高線中的這個(gè)函數(shù):matplotlib.pyplot contourf? 中使用到的Z!

而這個(gè)函數(shù)的用法為

coutour([X, Y,] Z,[levels], **kwargs)

在這里提出,matplotlib.pyplot contourf?是用來繪制三維等高線圖的,不同點(diǎn)是contour()是繪制輪廓線。而contourf()則會(huì)填充輪廓。除非有其他說明,否則兩個(gè)版本的函數(shù)是相同的。

參數(shù)
X,Y 數(shù)組,可選

是在Z中的坐標(biāo)值。

當(dāng)X,Y,Z都是二維數(shù)組時(shí),它們的形狀必須相同,若是一維數(shù)組,則X的長度為Z的列數(shù),Y的長度為Z的行數(shù),一般來說創(chuàng)建numpy.meshgrid()

Z 類似矩陣 是繪制輪廓的高度值
levels int或類似數(shù)組,可選 用來確定輪廓線\區(qū)域的數(shù)量和位置
aalpha float,可選 alpha混合值,介于0(透明)和1(不透明)之間。
cmap str或colormap,可選 Colormap用于將數(shù)據(jù)值(浮點(diǎn)數(shù))從間隔轉(zhuǎn)換為相應(yīng)Colormap表示的RGBA顏色。用于將數(shù)據(jù)縮放到間隔中看?。

很顯然,在這個(gè)函數(shù)用法中,如果要畫出等高線,核心函數(shù)就是plt.contourf(),但在這個(gè)函數(shù)中輸入的參數(shù)是x,y對(duì)應(yīng)的網(wǎng)格數(shù)據(jù)以及此網(wǎng)格對(duì)應(yīng)的高度值,因此我們調(diào)用np.meshgrid(x,y)把x,y值轉(zhuǎn)換成網(wǎng)格數(shù)據(jù):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
  
# 計(jì)算x,y坐標(biāo)對(duì)應(yīng)的高度值
def f(x, y):
 return (1-x/2+x**3+y**5) * np.exp(-x**2-y**2)
 
# 生成x,y的數(shù)據(jù)
n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
 
# 把x,y數(shù)據(jù)生成mesh網(wǎng)格狀的數(shù)據(jù),因?yàn)榈雀呔€的顯示是在網(wǎng)格的基礎(chǔ)上添加上高度值
X, Y = np.meshgrid(x, y)
 
# 填充等高線
plt.contourf(X, Y, f(X, Y))
# 顯示圖表
plt.show()

于是我分析了我的代碼中的contourf中對(duì)應(yīng)的X,Y和Z,才發(fā)現(xiàn)果然問題出現(xiàn)在這里:

 cp=ax.contourf(lon,lat,ws[i,::],zorder=0,transform=ccrs.PlateCarree(),cmap=cmap,levels=levels,extend='both')

這段代碼在完成三維數(shù)組的繪制時(shí)完全沒有問題,但是不巧的是,我這次繪制的是四維數(shù)組,而其中的ws[i,::]則未取定其中的兩維,使得該Z=ws[i,::],理論上來說屬于一個(gè)三維的數(shù)組,所以才會(huì)報(bào)錯(cuò)。

而我們只需要把這個(gè)四維數(shù)組取定其中的兩維,使得該Z屬于一個(gè)二維數(shù)組即可,已知我的數(shù)據(jù)中第二維為我恰好需要將之取定為500hpa,所以將這句代碼改為:

cp=ax.contourf(lon,lat,ws[i,0,::],zorder=0,transform=ccrs.PlateCarree(),cmap=cmap,levels=levels,extend='both')

?霍!這不就畫出來了嘛!

?初次見面,請(qǐng)多關(guān)照!希望能解決你的一點(diǎn)小煩惱哦!

到此這篇關(guān)于python報(bào)錯(cuò)TypeError: Input z must be 2D, not 3D的解決方法的文章就介紹到這了,更多相關(guān)python報(bào)錯(cuò)解決方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pip如何用pipdeptree查看包依賴

    pip如何用pipdeptree查看包依賴

    這篇文章主要介紹了pip如何用pipdeptree查看包依賴問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python3中編碼獲取網(wǎng)頁的實(shí)例方法

    python3中編碼獲取網(wǎng)頁的實(shí)例方法

    在本篇文章里小編給大家整理了一篇關(guān)于python3中編碼獲取網(wǎng)頁的實(shí)例方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • Python使用PyYAML庫進(jìn)行配置文件管理

    Python使用PyYAML庫進(jìn)行配置文件管理

    在現(xiàn)代軟件開發(fā)中,配置文件管理已經(jīng)成為了一個(gè)不可或缺的環(huán)節(jié),本文主要為大家詳細(xì)介紹了如何使用Python中的PyYAML庫來操作YAML文件,以及YAML文件的一些優(yōu)缺點(diǎn),希望對(duì)大家有所幫助
    2023-12-12
  • 詳解pandas apply 并行處理的幾種方法

    詳解pandas apply 并行處理的幾種方法

    這篇文章主要介紹了詳解pandas apply 并行處理的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Django中的AutoField字段使用

    Django中的AutoField字段使用

    這篇文章主要介紹了Django中的AutoField字段使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python閉包之返回函數(shù)的函數(shù)用法示例

    Python閉包之返回函數(shù)的函數(shù)用法示例

    這篇文章主要介紹了 Python閉包之返回函數(shù)的函數(shù)用法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • Python @property及getter setter原理詳解

    Python @property及getter setter原理詳解

    這篇文章主要介紹了Python @property及getter setter原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 對(duì)python讀取zip壓縮文件里面的csv數(shù)據(jù)實(shí)例詳解

    對(duì)python讀取zip壓縮文件里面的csv數(shù)據(jù)實(shí)例詳解

    今天小編就為大家分享一篇對(duì)python讀取zip壓縮文件里面的csv數(shù)據(jù)實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python super()函數(shù)使用及多重繼承

    Python super()函數(shù)使用及多重繼承

    這篇文章主要介紹了Python super()函數(shù)使用及多重繼承,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 詳解分布式系統(tǒng)中如何用python實(shí)現(xiàn)Paxos

    詳解分布式系統(tǒng)中如何用python實(shí)現(xiàn)Paxos

    提到分布式算法,就不得不提 Paxos 算法,在過去幾十年里,它基本上是分布式共識(shí)的代 名詞,因?yàn)楫?dāng)前最常用的一批共識(shí)算法都是基于它改進(jìn)的。比如,F(xiàn)ast Paxos 算法、 Cheap Paxos 算法、Raft 算法、ZAB 協(xié)議等等。
    2021-05-05

最新評(píng)論