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


Python Matplotlib.colors.LogNorm用法及代碼示例


Matplotlib是Python中令人驚歎的可視化庫,用於數組的二維圖。 Matplotlib是一個基於NumPy數組的多平台數據可視化庫,旨在與更廣泛的SciPy堆棧配合使用。

matplotlib.colors.LogNorm()

matplotlib.colors.LogNorm()類屬於matplotlib.colors模塊。 matplotlib.colors模塊用於將顏色或數字參數轉換為RGBA或RGB。此模塊用於將數字映射到顏色或以一維顏色數組(也稱為colormap)進行顏色規格轉換。

matplotlib.colors.LogNorm類用於將值標準化為對數刻度上的0-1範圍。如果未設置vmax或vmin,則分別從處理的第一個輸入的最大值和最小值初始化它們。這表示__call__(A)調用autoscale_None(A)。如果剪輯設置為True,並且給定的值超出範圍,則返回的值為0或1,以最接近的值為準。如果vmin == vmax,則返回0。它適用於也包括掩碼數組的數組或標量。如果將剪輯設置為True,則將遮罩的值設置為其他值,否則它們將保持遮罩。剪輯的默認設置為False。

該類的方法:

  1. autoscale(self, A):它用於將vmax,vmin分別設置為A的最大值和最小值。
  2. autoscale_None(self, A):它僅用於自動縮放none-valued vmin或vmax。
  3. inverse(self, value):返回色彩圖的反轉值。

範例1:



import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib import colors 
from matplotlib.ticker import PercentFormatter 
  
# Setting random state for  
# reproducibility 
np.random.seed(19680801) 
  
max_points = 100000
all_bins = 20
  
# Generate a normal distribution,  
# center at x = 0 and y = 5 
a = np.random.randn(max_points) 
b = .4 * a + np.random.randn(100000) + 5
  
figure, axes = plt.subplots(3, 1, 
                            figsize =(5, 15), 
                            sharex = True,  
                            sharey = True, 
                            tight_layout = True) 
  
# Incrementing the number of  
# bins on each axis 
axes[0].hist2d(a, b, bins = 40) 
  
# Defining normalization of  
# the colors 
axes[1].hist2d(a, b, bins = 40, 
               norm = colors.LogNorm()) 
  
# defining custom numbers of bins  
# for each axis 
axes[2].hist2d(a, b, bins =(80, 10), 
               norm = colors.LogNorm()) 
  
plt.show()


輸出:

matplotlib.colors.LogNorm
matplotlib.colors.LogNormmatplotlib.colors.LogNorm

範例2:

import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib.colors import LogNorm 
  
  
N = 100
A, B = np.mgrid[-3:3:complex(0, N), 
                -2:2:complex(0, N)] 
  
X1 = np.exp(-(A)**2 - (B)**2) 
X2 = np.exp(-(A * 10)**2 - (B * 10)**2) 
X = X1 + 50 * X2 
  
figure, (axes0, axes1) = plt.subplots(2, 1) 
  
P = axes0.pcolor(A, B, X, 
               norm = LogNorm(vmin = X.min(), 
                              vmax = X.max()), 
                 cmap ='PuBu_r') 
  
figure.colorbar(P, ax = axes0) 
  
P = axes1.pcolor(A, B, X, 
                 cmap ='PuBu_r') 
  
figure.colorbar(P, ax = axes1) 
  
plt.show()

輸出:
matplotlib.colors.LogNorm




相關用法


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