如何在 Matplotlib 中将数字转换为颜色标度?
matplotlibpythondata visualization
要在 matplotlib 中将数字转换为颜色标度,我们可以采取以下步骤。
步骤
- 使用 numpy 创建 x、y 和 c 数据点。
- 将数据点转换为 Pandas 数据框。
- 使用 subplots() 方法创建新图形或激活现有图形。
- 获取热色图。
- 要线性归一化数据,我们可以使用 Normalize() 类。
- 使用 x 和 y 数据点以及线性归一化的颜色图绘制散点。
- 为 x 数据点设置 xticks。
- 要制作颜色条,请创建一个标量可映射对象。
- 使用 colorbar() 方法制作颜色条。
- 要显示图形,请使用 show() 方法。
示例
from matplotlib import pyplot as plt, colors import numpy as np import pandas as pd plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True x = np.arange(12) y = np.random.rand(len(x)) * 20 c = np.random.rand(len(x)) * 3 + 1.5 df = pd.DataFrame({"x": x, "y": y, "c": c}) fig, ax = plt.subplots() cmap = plt.cm.hot norm = colors.Normalize(vmin=2.0, vmax=5.0) ax.scatter(df.x, df.y, color=cmap(norm(df.c.values))) ax.set_xticks(df.x) sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm) fig.colorbar(sm) plt.show()