【发布时间】:2022-01-05 23:04:17
【问题描述】:
我正在使用 seaborn 和子图从我的 pandas 数据框 df1 和 df2 中绘制一些数字,并想添加一条带注释的线,显示子图上每个数据框的列的中值。
我可以在下面的代码中使用axvline 在中位数上绘制一条线,但不知道如何注释绘制的线以显示实际的中位数:
df1median = df1['values'].median()
df2median = df2['values'].median()
fig, axes = plt.subplots(1,2)
sns.kdeplot(data=df1, x='values', ax=axes[0])
axes[0].axvline(df1median)
sns.kdeplot(data=df2, x='values', ax=axes[1])
axes[1].axvline(df2median)
我可以使用plt.text 手动注释并手动设置位置,但想要一种方法来直接注释每个子图上绘制的轴线。这可能吗?
【问题讨论】:
-
您是否尝试向 axvline 添加“标签”值?它可能会与图例一起显示。
-
另请参阅How to plot a mean line on a distplot between 0 and the y value of the mean?,了解使用填充颜色与四分位数一起显示中位数。
标签: python pandas matplotlib