一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python+matplotlib實現繪制等高線圖示例詳解

Python+matplotlib實現繪制等高線圖示例詳解

2022-03-11 00:33編程簡單學 Python

在matplotlib.pyplot中除了可以繪制常規圖表如折線、柱狀、散點等,還可以繪制常用在地理上的平面展示地型的等高線圖,本文主要為大家介紹了如何利用matplotlib繪制等高線圖,需要的可以參考一下

前言

我們在往期對matplotlib.pyplot()方法學習,到現在我們已經會繪制折線圖、柱狀圖、散點等常規的圖表啦(往期的內容如下,大家可以方便查看往期內容)

Python matplotlib底層原理解析

Python利用 matplotlib 繪制直方圖

Python用 matplotlib 繪制柱狀圖

python 用matplotlib繪制折線圖詳情

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

Python+matplotlib實現繪制等高線圖示例詳解

本期,我們將詳細學習matplotlib 繪制等高線圖相關屬性的學習,let's go~

 

1. 等高線圖概述

什么是等高線圖?

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

等高線圖常用場景

  • 等高線圖常用在展示某地地形情況
  • 等高線圖也可以計算當地山地高低情況
  • 等高線圖常用于地質、地理勘察繪制而成
  • 等高線圖也可以用于繪制圓形、橢圓形等數學公式展示

繪制等高線圖步驟

  1. 導入matplotlib.pyplot模塊
  2. 準備數據,可以使用numpy/pandas整理數據
  3. 調用pyplot.contour()或者pyplot.contourf()繪制等高線

案例展示

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

案例數據準備

np.arrage()準備一系列連續的數據

np.meshgrid()將數據轉換成矩陣

import numpy as np
# 定義一組連續的數據

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

# 轉換成矩陣數據
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()

Python+matplotlib實現繪制等高線圖示例詳解

 

2. 等高線圖屬性

設置等高線顏色

關鍵字:colors

取值范圍:

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

設置等高線透明度

關鍵字:alpha

默認為1

取值范圍為:0~1

設置等高線顏色級別

關鍵字:cmap

colors和cmap兩個關鍵字不能同時提供

取值為:注冊的顏色表明

  • 形式如:"顏色表_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'

設置等高線寬度

關鍵字:linewidths

默認為等高線寬度為1.5

取值可以float類型或者列表

設置等高線樣式

關鍵字:linestyles

默認值為:solid

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

linestyles為None且線條為單色時,負輪廓的線條會設置成dashed

我們對上一節的等高線圖添加一些屬性

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

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

Python+matplotlib實現繪制等高線圖示例詳解

傳入colors列表

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

Python+matplotlib實現繪制等高線圖示例詳解

為等高線圖,設置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))

Python+matplotlib實現繪制等高線圖示例詳解

 

3. 顯示輪廓標簽

我們查看等高線圖時,輪廓標簽會輔助我們更好的查看圖表。添加輪廓標簽,我們需要借助clabe

  • pyplot.contour()繪制等高線方法,會返回QuadContourset
  • QuadContourset 包含level列表數據
  • 使用pyplot.clabel()接受level列表數據標注在等高線上
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)

Python+matplotlib實現繪制等高線圖示例詳解

 

4. 填充顏色

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

使用pyplot.contourf()對比同區域輪廓進行填充顏色

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)

Python+matplotlib實現繪制等高線圖示例詳解

 

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)

Python+matplotlib實現繪制等高線圖示例詳解

 

總結

本期對matplotlib.pyplot 繪制等高線方法contour和contourf相關屬性的學習。在繪制等高線圖時,我們需要對三角函數、指數函數、正余弦函數等知識有一點了解,才能繪制出想要的圖表

以上就是Python+matplotlib實現繪制等高線圖示例詳解的詳細內容,更多關于Python matplotlib 繪制等高線圖的資料請關注服務器之家其它相關文章!

原文鏈接:https://blog.csdn.net/weixin_54556126/article/details/121439373

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产四虎 | 午夜宅男宅女看在线观看 | 国产全部理论片线观看 | 暖暖视频日本 | 俄罗斯一级在线播放 | 色成人综合网 | 98精品全国免费观看视频 | 纲手被comic天堂 | 91精品国产亚一区二区三区 | 欧美影院一区二区 | 韩国悲惨事件30无删减在线 | 久久三级网站 | 国产 日韩 欧美 综合 | bl文全肉高h湿被灌尿 | 日韩去日本高清在线 | 俺去啦最新官网 | 亚洲精品国产成人7777 | 九九大香尹人视频免费 | 欧美精选欧美极品 | 喜马拉雅听书免费版 | 美女下面被cao出水 美女污视频 | 含羞草传媒网站免费进入欢迎 | 我被男人下药添得好爽 | 国产盗摄wc女厕所 | 精品国产国产精2020久久日 | 胸奶好大好紧好湿好爽 | 99热这里只精品99re66 | 惩罚狠h调教灌满 | 国产japanese孕妇孕交 | 日本mv精品中文字幕 | 国产欧美日韩精品一区二 | 国产成人精品免费大全 | 国产99精品 | 温柔校草高h | 欧美影院一区二区三区 | 青苹果乐园影院免费观看完整版 | 99精品视频一区在线观看miya | 美女岳肉太深了使劲 | 日本最新免费二区 | 涩涩屋在线播放 | 高清国产精品久久 |