【问题标题】:Add labels ONLY to SELECTED data points in seaborn scatter plot仅将标签添加到 seaborn 散点图中的选定数据点
【发布时间】:2023-04-10 13:40:01
【问题描述】:

我创建了一个 seaborn 散点图并添加了一条趋势线。我有一些远离趋势线的数据点(请参阅以黄色突出显示的数据点),因此我想仅将数据标签添加到这些点,而不是添加到图表中的所有数据点。

有谁知道最好的方法是什么?

到目前为止,我已经找到了“如何为所有数据点添加标签”的答案(请参阅 this link),但这不是我的情况。

【问题讨论】:

    标签: python pandas seaborn


    【解决方案1】:

    在您引用的问题的accepted answer 中,您可以看到他们向所有数据点添加标签的方式是循环遍历数据点并在轴上调用.text(x, y, string)。您可以找到此方法的文档here(seaborn 是在 matplotlib 之上实现的)。您必须为选定的点调用此方法。

    在您的具体情况下,我不确切知道您想使用什么公式来查找异常值,但要从字面上获得超出您绘制的黄色矩形范围的异常值,您可以尝试以下操作:

    for x,y in zip(xarr, yarr):
        if x < 5 and y > 5.5:
            ax.text(x+0.01, y, 'outlier', horizontalalignment='left', size='medium', color='black')
    

    xarr 是您的 x 值,yarr 是您的 y 值,ax 是您调用 seaborn 时返回的轴。

    【讨论】:

    • 谢谢你,但我关注的是选定的数据点,而不是全部。你如何定义一个只标记你所追求的数据点的逻辑?
    • 这通常很难回答,这取决于。如果您在原始帖子中添加更多详细信息(例如显示您的数据的表示方式),将会有所帮助。
    • 好的,谢谢,我现在添加了一个图表。希望这会有所帮助:)
    • 我已编辑我的答案以考虑您的图表。
    猜你喜欢
    • 2018-11-09
    • 1970-01-01
    • 2022-01-17
    • 2022-01-18
    • 1970-01-01
    • 2020-02-13
    相关资源
    最近更新 更多