如何在 Matplotlib 中绘制等值线图和对数色标?


要在 Matplotlib 中绘制等值线图和对数色标,我们可以采取以下步骤 −

  • 设置图片大小并调整子图之间和周围的填充。
  • 初始化一个变量,N,用于样本数据的数量。
  • 使用 numpy 创建x, y, X, Y, Z1, Z2z 数据点。
  • 创建一个 figure 和一组子图。
  • 使用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()

输出

更新于: 15-06-2021

2 千次浏览

开启你的 事业

完成课程即可获得认证

开始
广告
© . All rights reserved.