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

Python+matplotlib實(shí)現(xiàn)繪制等高線圖示例詳解

 更新時(shí)間:2021年12月02日 08:55:40   作者:編程簡(jiǎn)單學(xué)  
在matplotlib.pyplot中除了可以繪制常規(guī)圖表如折線、柱狀、散點(diǎn)等,還可以繪制常用在地理上的平面展示地型的等高線圖,本文主要為大家介紹了如何利用matplotlib繪制等高線圖,需要的可以參考一下

前言

我們?cè)谕趯?duì)matplotlib.pyplot()方法學(xué)習(xí),到現(xiàn)在我們已經(jīng)會(huì)繪制折線圖、柱狀圖、散點(diǎn)等常規(guī)的圖表啦(往期的內(nèi)容如下,大家可以方便查看往期內(nèi)容)

Python?matplotlib底層原理解析

Python利用?matplotlib?繪制直方圖

Python用?matplotlib?繪制柱狀圖

python?用matplotlib繪制折線圖詳情

在matplotlib.pyplot 中除了可以繪制常規(guī)圖表如折線、柱狀、散點(diǎn)等,還可以繪制常用在地理上的平面展示地型的等高線圖

本期,我們將詳細(xì)學(xué)習(xí)matplotlib 繪制等高線圖相關(guān)屬性的學(xué)習(xí),let's go~

1. 等高線圖概述

什么是等高線圖?

  • 等高線圖又稱為水平圖,通過2D形式展示3D圖像的圖表
  • 等高線圖又稱為等高地線圖,將地表高度相同的點(diǎn)連成一個(gè)環(huán)線展示到平面曲線上
  • 等高線圖又稱為Z切片圖,因變量Z與自變量X,Y變化而變化
  • 等高線圖可以分為首曲線、計(jì)曲線、間曲線與助曲線

等高線圖常用場(chǎng)景

  • 等高線圖常用在展示某地地形情況
  • 等高線圖也可以計(jì)算當(dāng)?shù)厣降馗叩颓闆r
  • 等高線圖常用于地質(zhì)、地理勘察繪制而成
  • 等高線圖也可以用于繪制圓形、橢圓形等數(shù)學(xué)公式展示

繪制等高線圖步驟

  1. 導(dǎo)入matplotlib.pyplot模塊
  2. 準(zhǔn)備數(shù)據(jù),可以使用numpy/pandas整理數(shù)據(jù)
  3. 調(diào)用pyplot.contour()或者pyplot.contourf()繪制等高線

案例展示

等高線圖繪制需要借助很多高中所學(xué)的三角函數(shù)、指數(shù)函數(shù)等公式,我們本期案例使用等高線方法匯總圓

案例數(shù)據(jù)準(zhǔn)備

np.arrage()準(zhǔn)備一系列連續(xù)的數(shù)據(jù)

np.meshgrid()將數(shù)據(jù)轉(zhuǎn)換成矩陣

import numpy as np
# 定義一組連續(xù)的數(shù)據(jù)

x_value = np.arange(-5,5,0.1)
y_value = np.arange(-5,5,0.1)

# 轉(zhuǎn)換成矩陣數(shù)據(jù)
x,y = np.meshgrid(x_value,y_value)

繪制等高線

import matplotlib.pyplot as plt
plt.contour(x,y,z)
 
plt.title("Display Contour")
plt.xlabel("x(m)")
plt.ylabel("y(m)")
 
plt.show()
 
plt.show()

2. 等高線圖屬性

設(shè)置等高線顏色

關(guān)鍵字:colors

取值范圍:

  • 表示顏色的英文單詞:如紅色"red"
  • 表示顏色單詞的簡(jiǎn)稱如:紅色"r",黃色"y"
  • RGB格式:十六進(jìn)制格式如"#88c999";(r,g,b)元組形式
  • 也可以傳入顏色列表

設(shè)置等高線透明度

關(guān)鍵字:alpha

默認(rèn)為1

取值范圍為:0~1

設(shè)置等高線顏色級(jí)別

關(guān)鍵字:cmap

colors和cmap兩個(gè)關(guān)鍵字不能同時(shí)提供

取值為:注冊(cè)的顏色表明

  • 形式如:"顏色表_r"
  • 常用的有:'Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens'

設(shè)置等高線寬度

關(guān)鍵字:linewidths

默認(rèn)為等高線寬度為1.5

取值可以float類型或者列表

設(shè)置等高線樣式

關(guān)鍵字:linestyles

默認(rèn)值為:solid

取值可選:{None, 'solid', 'dashed', 'dashdot', 'dotted'}

linestyles為None且線條為單色時(shí),負(fù)輪廓的線條會(huì)設(shè)置成dashed

我們對(duì)上一節(jié)的等高線圖添加一些屬性

線條為紅色,線條寬度逐漸增大,線條樣式為dashed,透明度設(shè)置為0.5

```python
plt.contour(x,y,z,colors="r",
linestyles="dashed",
linewidths=np.arange(0.5,4,0.5),alpha=0.5)
```

傳入colors列表

plt.contour(x,y,z,
colors=('r','green','blue',(1,1,0),"#afeeee","0.5"),
linewidths=np.arange(0.5,4,0.5))

為等高線圖,設(shè)置cmap為紅色系

z = np.exp(-x**2-y**2)
z1 = np.exp(-(x-1)**2-(y-1)**2)
Z = (z-z1)*2
 
plt.contour(x,y,Z,
cmap='afmhot_r',
linewidths=np.arange(0.5,4,0.5))

3. 顯示輪廓標(biāo)簽

我們查看等高線圖時(shí),輪廓標(biāo)簽會(huì)輔助我們更好的查看圖表。添加輪廓標(biāo)簽,我們需要借助clabe

  • pyplot.contour()繪制等高線方法,會(huì)返回QuadContourset
  • QuadContourset 包含level列表數(shù)據(jù)
  • 使用pyplot.clabel()接受level列表數(shù)據(jù)標(biāo)注在等高線上
x_value = np.arange(-3,3,0.025)
y_value = np.arange(-3,3,0.025)
 
x,y = np.meshgrid(x_value,y_value)
 
z = (1-x**2+y**5)*np.exp(-x**2-y**2)
 
cs = plt.contour(x,y,z,cmap="Blues_r",linewidths=np.arange(0.5,4,0.5))
 
plt.clabel(cs,fontsize=9,inline=True)

4. 填充顏色

通常在等高線圖中,不同區(qū)域填充不一樣的顏色,幫助我們查看圖表時(shí)更好地理解

使用pyplot.contourf()對(duì)比同區(qū)域輪廓進(jìn)行填充顏色

z = (1-x**2+y**5)*np.exp(-x**2-y**2)
 
cs = plt.contour(x,y,z,10,colors="b",linewidths=0.5)
 
plt.clabel(cs,fontsize=12,inline=True)
 
plt.contourf(x,y,z,10,cmap="Blues_r",alpha=0.75)

5. 添加顏色條說明

我們可以借助pyplot.colorbar()方法來添加顏色條說明

z = (x**2+y**5)*np.exp(-x**2-y**2)
z1 = np.exp(-(x-1)**2-(y-1)**2)
Z = (z-z1)*2
 
cs = plt.contour(x,y,Z,10,colors="black",linewidths=0.5)
 
plt.clabel(cs,fontsize=12,inline=True)
 
plt.contourf(x,y,Z,10,cmap="afmhot_r",alpha=0.5)
 
plt.colorbar(shrink=0.8)

總結(jié)

本期對(duì)matplotlib.pyplot 繪制等高線方法contour和contourf相關(guān)屬性的學(xué)習(xí)。在繪制等高線圖時(shí),我們需要對(duì)三角函數(shù)、指數(shù)函數(shù)、正余弦函數(shù)等知識(shí)有一點(diǎn)了解,才能繪制出想要的圖表?

以上就是Python+matplotlib實(shí)現(xiàn)繪制等高線圖示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python matplotlib 繪制等高線圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • TensorFlow如何實(shí)現(xiàn)反向傳播

    TensorFlow如何實(shí)現(xiàn)反向傳播

    這篇文章主要為大家詳細(xì)介紹了TensorFlow如何實(shí)現(xiàn)反向傳播,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python與CNN的碰撞詳解

    Python與CNN的碰撞詳解

    CNN,即卷積神經(jīng)網(wǎng)絡(luò),主要用于圖像識(shí)別,分類。由輸入層,卷積層,池化層,全連接層(Affline層),Softmax層疊加而成。卷積神經(jīng)網(wǎng)絡(luò)中還有一個(gè)非常重要的結(jié)構(gòu):過濾器,它作用于層與層之間(卷積層與池化層),決定了怎樣對(duì)數(shù)據(jù)進(jìn)行卷積和池化
    2022-12-12
  • Django form表單與請(qǐng)求的生命周期步驟詳解

    Django form表單與請(qǐng)求的生命周期步驟詳解

    這篇文章主要介紹了Django-form表單與請(qǐng)求的生命周期,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python實(shí)現(xiàn)人民幣大寫轉(zhuǎn)換

    python實(shí)現(xiàn)人民幣大寫轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)人民幣大寫轉(zhuǎn)換的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python中使用urllib2偽造HTTP報(bào)頭的2個(gè)方法

    python中使用urllib2偽造HTTP報(bào)頭的2個(gè)方法

    這篇文章主要介紹了python中使用urllib2偽造HTTP報(bào)頭的2個(gè)方法,即偽造http頭信息,需要的朋友可以參考下
    2014-07-07
  • Django RBAC權(quán)限管理設(shè)計(jì)過程詳解

    Django RBAC權(quán)限管理設(shè)計(jì)過程詳解

    這篇文章主要介紹了Django RBAC權(quán)限管理設(shè)計(jì)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 基于django micro搭建網(wǎng)站實(shí)現(xiàn)加水印功能

    基于django micro搭建網(wǎng)站實(shí)現(xiàn)加水印功能

    這篇文章主要介紹了基于django micro搭建網(wǎng)站實(shí)現(xiàn)加水印功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • TFRecord文件查看包含的所有Features代碼

    TFRecord文件查看包含的所有Features代碼

    今天小編就為大家分享一篇TFRecord文件查看包含的所有Features代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python socket模塊方法實(shí)現(xiàn)詳解

    Python socket模塊方法實(shí)現(xiàn)詳解

    這篇文章主要介紹了Python socket模塊方法實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作大全

    Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作大全

    在后端應(yīng)用開發(fā)中,經(jīng)常會(huì)用到Postgres/Mysql/Mongo這三種數(shù)據(jù)庫的基本操作,今天小編就給大家詳細(xì)介紹Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作,感興趣的朋友一起看看吧
    2021-06-06

最新評(píng)論