【问题标题】:Summary Statistics on Seaborn Plot in Dynamic Location or Just Out of the Way?动态位置或就在不远处的 Seaborn 地块的汇总统计数据?
【发布时间】:2025-12-17 02:50:01
【问题描述】:

我想显示 seaborn 图的汇总统计数据以供演示之用。

这是我正在创建的函数,因此基础数据/分布会发生变化,因此我需要一种方法来动态更改摘要统计信息的显示位置,或者将它们显示在它们永远不会妨碍的位置.

如果给出的答案是让汇总统计信息始终位于图形区域之外的图像右上角,我可以接受。

我找到了this 解决方案,但是描述性统计的位置是硬编码的:

这是我的简化代码:

my_list = [1,1,2,2,2,3,3,3,3,3,4,4,4,5,5]
my_series = pd.Series(my_list)
sns.histplot(data = my_series, stat = 'probability')
plt.figtext(0.1,0.5, my_series.describe().to_string())
plt.title(my_title)
plt.show()

【问题讨论】:

    标签: matplotlib seaborn


    【解决方案1】:

    Matplotlib 在其图例中内置了自动“不碍事”的位置,因此黑客可能是:

    my_list = [1,1,2,2,2,3,3,3,3,3,4,4,4,5,5]
    my_series = pd.Series(my_list)
    ax = sns.histplot(data = my_series, stat = 'probability')
    
    handles = [plt.Line2D([], [], visible=False) for _ in labels]
    labels = [f"{stat}: {val:.2f}" for stat, val in my_series.describe().items()]
    
    ax.legend(
        handles,
        labels,
        loc="best",
        handlelength=0,
    )
    

    【讨论】:

      最近更新 更多