最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用matplotlib繪制等高線圖的兩種方法

 更新時(shí)間:2023年11月24日 10:10:25   作者:果_s  
在matplotlib.pyplot 中除了可以繪制常規(guī)圖表如折線、柱狀、散點(diǎn)等,還可以繪制常用在地理上的平面展示地型的等高線圖,在本中,我們將詳細(xì)學(xué)習(xí)matplotlib 繪制等高線圖相關(guān)屬性的學(xué)習(xí),需要的朋友可以參考下

前提條件:

  • 所需的庫(kù)matplotlib.pyplot,numpy
  • 已導(dǎo)入數(shù)據(jù),我是用np.loadtxt()導(dǎo)入的
  • 最重要的contour()和contourf()函數(shù)(不了解可以先去了解下再看~)

第一種很簡(jiǎn)單,等高線圖其實(shí)需要三種數(shù)據(jù)(x,y,z),其中x,y是圖中點(diǎn)的坐標(biāo),z是具體(x,y)點(diǎn)的值。

從這點(diǎn)來(lái)看:當(dāng)我們擁有一個(gè)數(shù)據(jù)時(shí),比如這樣:

        0       1       2       3    ...     297     298     299     300
0    1063.0  1076.0  1083.0  1087.0  ...   999.0   998.0   992.0   992.0
1    1059.0  1067.0  1074.0  1085.0  ...   999.0   998.0   994.0   996.0
2    1053.0  1060.0  1065.0  1079.0  ...   999.0   997.0   993.0   996.0
3    1058.0  1063.0  1075.0  1083.0  ...   999.0   995.0   992.0   994.0
4    1056.0  1076.0  1091.0  1101.0  ...   999.0   994.0   989.0   991.0
..      ...     ...     ...     ...  ...     ...     ...     ...     ...
196   832.0   831.0   831.0   834.0  ...  1255.0  1252.0  1266.0  1287.0
197   838.0   834.0   835.0   838.0  ...  1230.0  1227.0  1246.0  1271.0
198   844.0   836.0   836.0   840.0  ...  1204.0  1223.0  1242.0  1254.0
199   847.0   841.0   840.0   843.0  ...  1202.0  1205.0  1222.0  1246.0
200   846.0   844.0   842.0   845.0  ...  1204.0  1201.0  1213.0  1240.0
 
[201 rows x 301 columns]

一共有201行,301列,繪制等高線圖前就可以:

xx = np.linspace(0, 300, 301)
yy = np.linspace(0, 200, 201)
X, Y = np.meshgrid(xx, yy, indexing='ij')
fig,ax=plt.subplots()
contourf=ax.contourf(X,Y,txt,cmap=plt.get_cmap('RdYlGn_r'))
contour=ax.contour(X,Y,txt,colors="k",linewidths=.5)

另外一種比較難的方法,我使用到了插值擬合:

首先由已知數(shù)據(jù)推測(cè)出一個(gè)擬合的公式:

x=np.arange(0,201,1)#x代表行
y=np.arange(0,301,1)#y代表列
z=np.array(df)#z中保存所有已知數(shù)據(jù)點(diǎn)的值
#根據(jù)x,y,z求取插值擬合函數(shù)
interp = RegularGridInterpolator((x, y), z,bounds_error=False, fill_value=None)

第二步,構(gòu)建網(wǎng)格,為后續(xù)繪制等高線圖用。

xx = np.linspace(0, 200, 300)
yy = np.linspace(0, 300, 300)
X, Y = np.meshgrid(xx, yy, indexing='ij')

然后就是使用matplolib.pyplot庫(kù)提供的函數(shù)繪圖的過(guò)程啦

fig,ax=plt.subplots()
contourf=ax.contourf(X,Y,interp((X,Y)),cmap=plt.get_cmap('RdYlGn_r'))
contour=ax.contour(X,Y,interp((X,Y)),colors="k",linewidths=.5)

如果需要添加等高線上的標(biāo)簽可以:

ax.clabel(contour,fontsize=6,colors='k')

添加顏色條可以:

plt.colorbar(contourf)

最后繪制出來(lái)就是這個(gè)樣子:

以上就是python使用matplotlib繪制等高線圖的兩種方法的詳細(xì)內(nèi)容,更多關(guān)于python matplotlib等高線圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • yolov5訓(xùn)練時(shí)參數(shù)workers與batch-size的深入理解

    yolov5訓(xùn)練時(shí)參數(shù)workers與batch-size的深入理解

    最近再學(xué)習(xí)YOLOv3與YOLOv5訓(xùn)練數(shù)據(jù)集的具體步驟,幾經(jīng)波折終于實(shí)現(xiàn)了很好的效果,這篇文章主要給大家介紹了關(guān)于yolov5訓(xùn)練時(shí)參數(shù)workers與batch-size的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Python RuntimeWarning:invalid value encountered in double_scalars處理

    Python RuntimeWarning:invalid value encounter

    這篇文章主要介紹了Python RuntimeWarning:invalid value encountered in double_scalars處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 基于python的漢字轉(zhuǎn)GBK碼實(shí)現(xiàn)代碼

    基于python的漢字轉(zhuǎn)GBK碼實(shí)現(xiàn)代碼

    今天想用python調(diào)用百度框計(jì)算的搜過(guò)結(jié)果,看到了URL里面的漢字用GBK編碼,雖然可以直接在URL里面加入中文,之前也做過(guò)一個(gè)簡(jiǎn)體字轉(zhuǎn)GBK碼的python函數(shù),但還是略嫌麻煩,今天改了一下
    2012-02-02
  • 詳解python?sklearn中的數(shù)據(jù)預(yù)處理方法

    詳解python?sklearn中的數(shù)據(jù)預(yù)處理方法

    本篇文章主要講解Python的sklearn庫(kù)中常用的數(shù)據(jù)預(yù)處理方法,主要介紹工具中的內(nèi)容,即該庫(kù)中的相關(guān)方法包含的常用接口和基本使用,希望對(duì)大家有所幫助
    2023-08-08
  • Python通過(guò)文本和圖片生成詞云圖

    Python通過(guò)文本和圖片生成詞云圖

    這篇文章主要介紹了Python通過(guò)文本和圖片生成詞云圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Django中Middleware中的函數(shù)詳解

    Django中Middleware中的函數(shù)詳解

    這篇文章主要介紹了Django中Middleware中的函數(shù)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 基于Python在MacOS上安裝robotframework-ride

    基于Python在MacOS上安裝robotframework-ride

    今天小編就為大家分享一篇關(guān)于基于Python在MacOS上安裝robotframework-ride,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • python爬蟲(chóng)入門教程--正則表達(dá)式完全指南(五)

    python爬蟲(chóng)入門教程--正則表達(dá)式完全指南(五)

    要想做爬蟲(chóng),不可避免的要用到正則表達(dá)式,如果是簡(jiǎn)單的字符串處理,類似于split,substring等等就足夠了,可是涉及到比較復(fù)雜的匹配,當(dāng)然是正則的天下,下面這篇文章主要給大家介紹了python爬蟲(chóng)之正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下。
    2017-05-05
  • python實(shí)現(xiàn)websocket的客戶端壓力測(cè)試

    python實(shí)現(xiàn)websocket的客戶端壓力測(cè)試

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)websocket的客戶端壓力測(cè)試,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • web自動(dòng)化測(cè)試Selenium點(diǎn)擊元素的常用方法

    web自動(dòng)化測(cè)試Selenium點(diǎn)擊元素的常用方法

    在Web自動(dòng)化測(cè)試中,Selenium提供多種點(diǎn)擊方法,常用的click()方法通過(guò)選中元素并觸發(fā)點(diǎn)擊事件,若click()方法不穩(wěn)定,可以采用JavaScript執(zhí)行點(diǎn)擊或使用ActionChains類模擬鼠標(biāo)點(diǎn)擊,需要的朋友可以參考下
    2024-09-09

最新評(píng)論

株洲县| 西吉县| 游戏| 锡林浩特市| 昂仁县| 通辽市| 内江市| 哈巴河县| 武穴市| 昌图县| 婺源县| 昭平县| 宜兰市| 乌恰县| 通州区| 石景山区| 福州市| 周至县| 黄陵县| 河曲县| 溧阳市| 朝阳市| 抚顺市| 收藏| 阿拉善左旗| 江津市| 咸丰县| 察隅县| 古浪县| 新宾| 白河县| 琼海市| 民权县| 洮南市| 白城市| 平定县| 泽普县| 蓝田县| 嘉兴市| 河西区| 栾川县|