如何在 Matplotlib 中将数字转换为颜色标度?
matplotlibpythondata visualization更新于 2025/4/18 21:00:17
要在 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()
输出

相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

