【问题标题】:Using seaborn: How to show the value of quantiles in a boxplot使用 seaborn:如何在箱线图中显示分位数的值
【发布时间】:2021-09-29 01:04:33
【问题描述】:

我设法在 x 轴上获得了 2 个类别的箱线图,在 y 轴上获得了一个连续变量。我只想将四分位数的值添加到图中,靠近框。

像这样: enter image description here

【问题讨论】:

  • 您必须手动完成,计算四分位数并使用matplotlib.pyplot.annotate

标签: pandas seaborn boxplot


【解决方案1】:

这是一个例子:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

np.random.seed(0)
df = pd.DataFrame({'churn': np.random.choice(['No', 'Si'], size=1000),
                   'value': np.random.random(size=1000)})
box_width = 0.5
ax = sns.boxplot(data=df, x='churn', y='value', width=box_width)

i = 0
for name, group in df.groupby('churn'):
    Q1, Q3 = group['value'].quantile([0.25,0.75])
    for q in (Q1, Q3):
        x = i-box_width/2
        y = q
        ax.annotate('%.2f' % q, (x,y),
                    xytext=(x-0.1, y), textcoords='data',
                    arrowprops=dict(facecolor='black', shrink=0.05),
                    va='center', ha='right')
    
    i+=1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-14
    • 2021-04-02
    • 2019-04-29
    • 2015-04-12
    • 2021-03-08
    • 2016-12-03
    • 2012-11-02
    • 2021-10-07
    相关资源
    最近更新 更多