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

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

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

前提條件:

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

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

從這點來看:當我們擁有一個數(shù)據(jù)時,比如這樣:

        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ù)推測出一個擬合的公式:

x=np.arange(0,201,1)#x代表行
y=np.arange(0,301,1)#y代表列
z=np.array(df)#z中保存所有已知數(shù)據(jù)點的值
#根據(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庫提供的函數(shù)繪圖的過程啦

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)

如果需要添加等高線上的標簽可以:

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

添加顏色條可以:

plt.colorbar(contourf)

最后繪制出來就是這個樣子:

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

相關(guān)文章

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

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

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

    Python RuntimeWarning:invalid value encounter

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

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

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

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

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

    Python通過文本和圖片生成詞云圖

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

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

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

    基于Python在MacOS上安裝robotframework-ride

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

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

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

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

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

    web自動化測試Selenium點擊元素的常用方法

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

最新評論

通海县| 通道| 澎湖县| 和硕县| 敖汉旗| 邛崃市| 桓仁| 澄城县| 汶上县| 海口市| 浦县| 宁武县| 齐齐哈尔市| 金阳县| 恩平市| 隆安县| 思茅市| 富平县| 竹山县| 日照市| 都昌县| 乌苏市| 波密县| 新竹市| 马公市| 佛冈县| 武夷山市| 平乐县| 鄂托克旗| 土默特右旗| 保康县| 图们市| 高台县| 汝州市| 乐平市| 中江县| 绥芬河市| 礼泉县| 和静县| 上高县| 阿拉尔市|