如何在 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()
输出


