如何在散点图中为 Matplotlib 建立分离色条?


使用 plt.colorbar(ticks=np.linspace(-2, 2, 5)),我们可以创建一个离散色条。

步骤

  • 使用 np.random.random 方法返回半开区间中的随机浮点数,即 x。

  • 使用 np.random.random 方法返回半开区间中的随机浮点数,即 y。

  • 使用 np.random.randint(-2, 3, 20) 方法返回从“低”值(包含)到“高”值(不含)的随机整数,即 z。

  • 使用 plt.xlabel() 设置 X 轴标签。

  • 使用 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()

输出

更新于:2021-03-15

7 千次浏览

启动你的 事业

完成课程,获得认证

开始
广告