如何在 matplotlib 中为散点图创建离散颜色条?
matplotlibserver side programmingprogramming更新于 2025/5/13 0:22:17
使用 plt.colorbar(ticks=np.linspace(-2, 2, 5)),我们可以创建一个离散颜色条。
步骤
使用 np.random.random 方法返回半开区间(即 x)内的随机浮点数。
使用 np.random.random 方法返回半开区间(即 y)内的随机浮点数。
使用 np.random.randint(-2, 3, 20) 方法返回从 `low`(含)到 `high`(不含)的随机整数(即 z)。
使用plt.xlabel()。
使用 plt.ylabel() 设置 Y 轴标签。
使用内置的彩虹色图。
基于离散间隔生成色图索引。
创建 *y* 与 *x* 的散点图,其中 x、y 和 z 具有不同的标记大小和/或颜色(步骤 1、2、3)。
为 ScalarMappable 实例 *mappable* 创建颜色条。
使用 plt.show() 显示图形。
示例
from matplotlib import pyplot as plt import numpy as np from matplotlib import colors x = np.random.random(20) y = np.random.random(20) z = np.random.randint(-2, 3, 20) plt.xlabel('X-axis ') plt.ylabel('Y-axis ') cmap = plt.cm.rainbow norm = colors.BoundaryNorm(np.arange(-2.5, 3, 1), cmap.N) plt.scatter(x, y, c=z, cmap=cmap, norm=norm, s=100, edgecolor='none') plt.colorbar(ticks=np.linspace(-2, 2, 5)) plt.show()