當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python matplotlib.pyplot.clabel()用法及代碼示例


等高線圖或水平圖是在二維平麵上顯示三維表麵的一種方式。它以輪廓圖的形式在y軸上作為一個輸出變量z和兩個預測變量x和y。通常,此類輪廓也稱為z-slices。
mathplotlib.pyplot中的clabel()方法用於在類的實例中為線輪廓添加標簽,以支持輪廓繪製。

用法:  matplotlib.pyplot.clabel(CS, levels=None, **kwargs)

參數:

  • CS:要標記的ContourSet。
  • levels:級別值列表,應標記出來。該列表必須是CS.levels的子集。如果未給出,則標記所有級別。它是一個可選參數(默認值為None)。
  • fontsize:以磅為單位的尺寸或相對尺寸,例如‘smaller’,“ x-large”。有關可接受的字符串值,請參見Text.set_size。
  • colors:標簽顏色-
    1. 如果為無,則每個標簽的顏色與相應輪廓的顏色匹配。
    2. 如果使用一種字符串顏色(例如,顏色= ‘r’或顏色= ‘red’),則所有標簽都將以此顏色繪製。
    3. 如果是matplotlib顏色args(字符串,float,rgb等)的元組,則將按照指定的順序以不同的顏色繪製不同的標簽。

以下是一些程序來說明matplotlib.pyplot.clabel()的用法:


範例1:使用默認顏色創建帶有標簽的簡單輪廓圖。 clabel的inline參數將控製是否在輪廓的線段上繪製標簽,從而刪除標簽下方的線。



Python3

# importing the required libraries 
import numpy  
import matplotlib.pyplot  
  
# creating the graph 
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta) 
y = numpy.arange(-2.0, 2.0, delta) 
X, Y = numpy.meshgrid(x, y) 
  
Z1 = numpy.exp(-X**2 - Y**2) 
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2) 
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours 
fig, ax = matplotlib.pyplot.subplots() 
CS = ax.contour(X, Y, Z) 
ax.clabel(CS, inline=1, fontsize=10) 
ax.set_title('Simplest default with labels')

輸出:

範例2:通過提供位置列表(在數據坐標中),可以手動放置輪廓標簽。有關交互式放置,請參見ginput_manual_clabel.py。

Python3

# importing the required libraries 
import numpy  
import matplotlib.pyplot  
  
# creating the graph 
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta) 
y = numpy.arange(-2.0, 2.0, delta) 
X, Y = numpy.meshgrid(x, y) 
  
Z1 = numpy.exp(-X**2 - Y**2) 
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2) 
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours 
fig, ax = matplotlib.pyplot.subplots() 
CS = ax.contour(X, Y, Z) 
manual_locations = [(-1, -1.4), (-0.62, -0.7),  
                    (-2, 0.5), (1.7, 1.2),  
                    (2.0, 1.4), (2.4, 1.7)] 
  
ax.clabel(CS, inline=1, fontsize=10, manual=manual_locations) 
ax.set_title('labels at selected locations')

輸出:

範例3:您可以強製所有輪廓為相同顏色。



Python3

# importing the required libraries 
import numpy  
import matplotlib.pyplot  
  
# creating the graph 
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta) 
y = numpy.arange(-2.0, 2.0, delta) 
X, Y = numpy.meshgrid(x, y) 
  
Z1 = numpy.exp(-X**2 - Y**2) 
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2) 
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours 
fig, ax = matplotlib.pyplot.subplots() 
CS = ax.contour(X, Y, Z, 6, 
                 colors='k', 
                 ) 
  
ax.clabel(CS, fontsize=9, inline=1) 
ax.set_title('Single color - negative contours dashed')

輸出:

範例4:您可以將負輪廓設置為實線而不是虛線:

Python3

# importing the required libraries 
import numpy  
import matplotlib.pyplot  
  
# creating the graph 
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta) 
y = numpy.arange(-2.0, 2.0, delta) 
X, Y = numpy.meshgrid(x, y) 
  
Z1 = numpy.exp(-X**2 - Y**2) 
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2) 
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours 
matplotlib.rcParams['contour.negative_linestyle'] = 'solid'
fig, ax = matplotlib.pyplot.subplots() 
CS = ax.contour(X, Y, Z, 6, 
                 colors='k', 
                 ) 
  
ax.clabel(CS, fontsize=9, inline=1) 
ax.set_title('Single color - negative contours solid')

輸出:

範例5:您可以手動指定輪廓的顏色。

Python3

# importing the required libraries 
import numpy  
import matplotlib.pyplot  
  
# creating the graph 
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta) 
y = numpy.arange(-2.0, 2.0, delta) 
X, Y = numpy.meshgrid(x, y) 
  
Z1 = numpy.exp(-X**2 - Y**2) 
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2) 
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours 
fig, ax = matplotlib.pyplot.subplots() 
CS = ax.contour(X, Y, Z, 6, 
                 linewidths=np.arange(.5, 4, .5), 
                 colors=('r', 'green', 'blue', 
                         (1, 1, 0), '#afeeee', '0.5') 
                 ) 
  
ax.clabel(CS, fontsize=9, inline=1) 
ax.set_title('Crazy lines')

輸出:




相關用法


注:本文由純淨天空篩選整理自riturajsaha大神的英文原創作品 matplotlib.pyplot.clabel() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。