探究matplotlib的contour

一、contour概述

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

plt.contour(X, Y, Z)
plt.show()

contour是一種數據可視化的方法,用等高線的方式來表現數據。通俗地說,可以把一張等高線地圖看成一張地形圖,山峰頂的輪廓線就像是一個二維函數值等於某個特定值的集合。因此contour也適用於二維圖像中的各種數據分布,如熱圖、電勢圖等。

在matplotlib中,可以使用plt.contour(X,Y,Z)來繪製等高線圖,其中X,Y為橫縱坐標,Z為等高線數據。

二、contourf的使用

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contourf(X, Y, Z)
plt.show()

在上一個例子中,我們繪製的是等高線線條,那麼怎麼填充其中的顏色呢?答案就是使用contourf函數。

plt.contourf(X,Y,Z)的參數和plt.contour相同。它會將數據區間分割無數份,每份之間的顏色都有差別,從而實現等高線圖的填充。

三、contour使用colormap調整顏色

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contourf(X, Y, Z, cmap='coolwarm')
plt.colorbar()
plt.show()

使用plt.contourf繪製的等高線圖默認採用等間距的顏色來填充,但有時我們希望通過顏色的變化來更好地表達數據的變化。這時候可以使用colormap。

colormap是一組顏色,旨在通過漸變來改變顏色從而表示數據的變化。我們可以通過在plt.contourf中設置cmap參數來調整顏色。比如colormap中blue和red的搭配可以用coolwarm。

四、contour的一些參數介紹

1. levels

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contourf(X, Y, Z, levels=10)
plt.show()

在plt.contourf中,可以通過levels參數來控制等高線的數量。默認為10,也可以手動指定。

2. alpha

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contourf(X, Y, Z, alpha=0.5)
plt.show()

在plt.contourf中,可以通過alpha參數來控制等高線圖的透明度。數值範圍為[0,1],0為完全透明,1為不透明。

3. linewidths

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contour(X, Y, Z, linewidths=2)
plt.show()

在plt.contour中,可以通過linewidths參數來控制等高線的線條粗細。默認值為1。

4. linestyles

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contour(X,Y,Z, linestyles='dashed')
plt.show()

在plt.contour中,可以通過linestyles參數來控制等高線的線條風格。可選參數有:-, –, -., :等。

總結

本文探究了matplotlib中contour的使用,包括繪製等高線圖、填充等高線圖、通過colormap調整顏色、不同參數調整等高線圖的樣式等內容。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192619.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 10:28
下一篇 2024-12-01 10:28

相關推薦

  • Python最強大的製圖庫——Matplotlib

    Matplotlib是Python中最強大的數據可視化工具之一,它提供了海量的製圖、繪圖、繪製動畫的功能,通過它可以輕鬆地展示數據的分布、比較和趨勢。下面將從多個方面對Matplo…

    編程 2025-04-29
  • Python三大:NumPy、Pandas、matplotlib

    本文將詳細介紹三大Python數據處理及可視化庫——NumPy、Pandas以及matplotlib,為讀者提供從基礎使用到應用場景的全面掌握。 一、NumPy NumPy是Pyt…

    編程 2025-04-27
  • Python畫圖:Matplotlib的使用

    Matplotlib是Python中最常用的畫圖庫之一。它可以輕鬆地創建各種類型的圖表,包括直方圖、散點圖、線圖、餅圖等等。本文將從以下幾個方面對Matplotlib的使用進行詳細…

    編程 2025-04-27
  • 探究matplotlib中文文檔

    一、介紹 Matplotlib是一個Python的可視化庫,它提供了豐富的繪圖工具和良好的交互性,可用於生成高質量的二維圖形、三維圖形和動畫等。它的中文文檔是對於使用者非常友好的參…

    編程 2025-04-24
  • 深入探究matplotlib.figure函數

    一、figure概述 Matplotlib是Python中著名的可視化庫之一,其核心的figue函數是畫布的概念,是Matplotlib中處理圖形的核心概念。figure函數通過創…

    編程 2025-04-24
  • 深入淺出matplotlib — plt.figure()詳解

    一、基本介紹 plt.figure()是matplotlib.pyplot中的一種功能強大的函數,常被用來創建新的繪圖窗口及其所對應的繪圖對象。它是一個最基礎的創建圖像對象的函數,…

    編程 2025-04-23
  • 深入理解matplotlib.pyplot.title

    matplotlib.pyplot是Python中最受歡迎的圖形化庫之一。其中,plt.title()是其中一種非常重要的函數。本文將從多個方面對該函數進行詳細闡述。 一、基本用法…

    編程 2025-04-23
  • 完整介紹Python可視化庫matplotlib中的plt.title函數

    一、plt.title函數的簡介 matplotlib是一個Python數據可視化庫,它提供了多種繪圖方式,其中plt.title函數就是在繪圖中添加標題的函數。 plt.titl…

    編程 2025-04-18
  • 《深入淺出Matplotlib Animation》

    一、Matplotlib Animation簡介 Matplotlib是Python中常用的繪圖庫。其官方提供的animation模塊是利用FuncAnimation實現動畫效果的…

    編程 2025-03-12
  • 詳解matplotlib直方圖

    一、基本概念 直方圖是一種常用的數據可視化方式,用於描述定量數據的分布情況。它將數據按照大小分成若干個等距的區間,然後用柱狀圖表示每個區間內數據的頻數或頻率。 具體而言,直方圖包含…

    編程 2025-02-05

發表回復

登錄後才能評論