如何在 Matplotlib 中绘制轮廓和对数颜色刻度?

matplotlibpythondata visualization

要在 Matplotlib 中绘制轮廓和对数刻度,我们可以采取以下步骤 −

  • 设置图形大小并调整子图之间和周围的填充。
  • 初始化变量 N,用于样本数据的数量。
  • 使用 numpy 创建 x、y、X、Y、Z1、Z2z 数据点。
  • 创建一个图形和一组子图。
  • 使用 contourf() 方法绘制轮廓。
  • 为标量可映射实例创建颜色条。
  • 要显示图形,请使用 show() 方法。

示例

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()

输出


相关文章