mpldatacursor Scatter绘制点颜色信息

时间:2017-09-19 13:09:03

标签: python matplotlib plot scatter colormap

我有一个带有颜色缩放的散点图,其中每个绘制点与另一个值相关联。这是一个懒惰的解决方法,以制作一个" countour plot"风格图像,无需规范数据点。为了使分析更容易,我使用mpldatacursor在绘图上生成交互式注释,我有一个自定义格式化程序,它正好显示坐标:

datacursor(scatter,
           formatter='$T=${x:.2f}$^\circ$C\n$I=${y:.2f}$\,$mA\n$\Delta F=$$\,$THz'.format,
           draggable=True)

但我真正想要的是第三行$\Delta F=$$\,$THz,以包含一个语句,该语句返回与该点的颜色映射关联的值。有谁知道我应该用什么kwargs来实现这个目标?

编辑:MWE

from mpldatacursor import datacursor
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111)

scatter = ax.scatter(np.random.random(100),
           np.random.random(100),
           c=np.random.random(100),
           s=0.5)

cb = plt.colorbar(scatter, label="Colour")

datacursor(scatter,
           formatter='$T=${x:.2f}$^\circ$C\n$I=${y:.2f}$\,$mA\n$\Delta F=$$\,$THz'.format,
           draggable=True)

1 个答案:

答案 0 :(得分:1)

您需要将拾取点的索引转换为要显示的值。因此,散布的颜色应该是公开可用的,这样ind的{​​{1}}可以对其进行索引并返回拾取点处的值。

pick_event

enter image description here