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

输出


相关文章