Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách vẽ contourf và thang logarit cho color scale trong Matplotlib?

Để vẽ contourf và thang log scale trong Matplotlib:

  • Thiết lập kích thước hình và điều chỉnh khoảng đệm subplot.
  • Khởi tạo biến N cho số mẫu.
  • Tạo x, y, X, Y, Z1, Z2, z bằng numpy.
  • Tạo figure và subplots.
  • Vẽ contour bằng contourf().
  • Tạo colorbar cho scalar mappable.
  • Hiển thị hình bằng show().

Ví dụ

import matplotlib.pyplot as plt
import numpy as np
from numpy import ma
from matplotlib import ticker, cm
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
N = 100
x = np.linspace(-3.0, 3.0, N)
y = np.linspace(-2.0, 2.0, N)
X, Y = np.meshgrid(x, y)
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X * 10)**2 - (Y * 10)**2)
z = Z1 + 50 * Z2
z[:5, :5] = -1
z = ma.masked_where(z <= 0, z)
fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r)
cbar = fig.colorbar(cs)
plt.show()

Kết quả

Cách vẽ contourf và thang logarit cho color scale trong Matplotlib?