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

用matplotlib畫等高線圖詳解

 更新時(shí)間:2017年12月14日 16:04:59   作者:dreampursuer  
這篇文章主要介紹了用matplotlib畫等高線圖詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。

等高線圖是在地理課中講述山峰山谷時(shí)繪制的圖形,在機(jī)器學(xué)習(xí)中也會(huì)被用在繪制梯度下降算法的圖形中。

因?yàn)榈雀呔€的圖有三個(gè)信息:x,y以及x,y所對應(yīng)的高度值。

這個(gè)高度值的計(jì)算我們用一個(gè)函數(shù)來表述:

 計(jì)算x,y坐標(biāo)對應(yīng)的高度值
def f(x, y):
 return (1-x/2+x**5+y**3) * np.exp(-x**2-y**2)

這個(gè)函數(shù)看起來挺復(fù)雜的,但我們這里只是為了能夠獲得一個(gè)高度值,因此其中函數(shù)代表什么意義不用關(guān)心,只要知道輸入一個(gè)x,y,輸出一個(gè)高度值就可以了。

要畫出等高線,核心函數(shù)是plt.contourf(),但在這個(gè)函數(shù)中輸入的參數(shù)是x,y對應(yīng)的網(wǎng)格數(shù)據(jù)以及此網(wǎng)格對應(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)對應(yīng)的高度值
def f(x, y):
 return (1-x/2+x**5+y**3) * 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()

上述代碼顯示的圖形為:

這顏色有點(diǎn)太冷了,我們想顯示熱力圖,那只要在plt.contourf()函數(shù)中添加屬性cmap=plt.cm.hot就能顯示熱力圖,其中cmap代表為color map,我們把color map映射成hot(熱力圖),此處關(guān)鍵代碼為:

# 填充等高線
plt.contourf(X, Y, f(X, Y), cmap=plt.cm.hot)

顯示的圖為:

是否顯示得挺熱的。:)

上面是用plt.contourf()填充了等高線,但還有一種方式是可以直接顯示等高線,而不是填充的方式,例如:

C = plt.contour(X, Y, f(X, Y), 20)

這里20代表的是顯示等高線的密集程度,數(shù)值越大,畫的等高線數(shù)就越多。

這樣顯示的圖形為:

當(dāng)然,如果我們不調(diào)用前面的plt.contourf()函數(shù),則就會(huì)直接顯示等高線。

最后我們想在等高線中添加上標(biāo)注值:

plt.clabel(C, inline=True, fontsize=12)

顯示的圖為:

完整的代碼為:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 計(jì)算x,y坐標(biāo)對應(yīng)的高度值
def f(x, y):
 return (1-x/2+x**5+y**3) * 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), 20, cmap=plt.cm.hot)
# 添加等高線
C = plt.contour(X, Y, f(X, Y), 20)
plt.clabel(C, inline=True, fontsize=12)
# 顯示圖表
plt.show()

總結(jié)

以上就是本文關(guān)于用matplotlib畫等高線圖詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Python通過matplotlib繪制動(dòng)畫簡單實(shí)例

Python的地形三維可視化Matplotlib和gdal使用實(shí)例

python學(xué)習(xí)之matplotlib繪制散點(diǎn)圖實(shí)例

如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Python讀取xlsx文件的實(shí)現(xiàn)方法

    Python讀取xlsx文件的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python讀取xlsx文件的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python中數(shù)字(Number)數(shù)據(jù)類型常用操作

    Python中數(shù)字(Number)數(shù)據(jù)類型常用操作

    本文主要介紹了Python中數(shù)字(Number)數(shù)據(jù)類型常用操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python 字符串大小寫轉(zhuǎn)換的簡單實(shí)例

    Python 字符串大小寫轉(zhuǎn)換的簡單實(shí)例

    下面小編就為大家?guī)硪黄狿ython 字符串大小寫轉(zhuǎn)換的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python?pygame新手入門基礎(chǔ)教程

    Python?pygame新手入門基礎(chǔ)教程

    大家都知道pygame是跨平臺(tái)Python模塊,專為電子游戲設(shè)計(jì),包含圖像、聲音,這篇文章主要給大家介紹了關(guān)于Python?pygame新手入門基礎(chǔ)教程的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 使用python實(shí)現(xiàn)kmean算法

    使用python實(shí)現(xiàn)kmean算法

    這篇文章主要介紹了使用python實(shí)現(xiàn)kmean算法,kmean 是無監(jiān)督學(xué)習(xí)的一種算法,主要是用來進(jìn)行聚類分析的,他會(huì)在數(shù)據(jù)集中算出幾個(gè)點(diǎn)作為簇中心,求這些數(shù)據(jù)集與這些簇中心的距離,并將距離同一個(gè)簇中心距離最近的數(shù)據(jù)歸為一類,需要的朋友可以參考下
    2023-04-04
  • python讀寫excel數(shù)據(jù)--pandas詳解

    python讀寫excel數(shù)據(jù)--pandas詳解

    這篇文章主要為大家詳細(xì)介紹了python操作EXCEL讀數(shù)據(jù)、寫數(shù)據(jù)的實(shí)例源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 四種Python機(jī)器學(xué)習(xí)超參數(shù)搜索方法總結(jié)

    四種Python機(jī)器學(xué)習(xí)超參數(shù)搜索方法總結(jié)

    在建模時(shí)模型的超參數(shù)對精度有一定的影響,而設(shè)置和調(diào)整超參數(shù)的取值,往往稱為調(diào)參。本文將演示在sklearn中支持的四種基礎(chǔ)超參數(shù)搜索方法,需要的可以參考一下
    2022-11-11
  • Django的數(shù)據(jù)模型訪問多對多鍵值的方法

    Django的數(shù)據(jù)模型訪問多對多鍵值的方法

    這篇文章主要介紹了Django的數(shù)據(jù)模型訪問多對多鍵值的方法,Django是Python豐富多彩的web框架中最具人氣的一個(gè),需要的朋友可以參考下
    2015-07-07
  • python將txt等文件中的數(shù)據(jù)讀為numpy數(shù)組的方法

    python將txt等文件中的數(shù)據(jù)讀為numpy數(shù)組的方法

    今天小編就為大家分享一篇python將txt等文件中的數(shù)據(jù)讀為numpy數(shù)組的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法

    Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法

    這篇文章主要介紹了Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法,是很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08

最新評論