【问题标题】:Add Marker Annotations for Seaborn regplot为 Seaborn regplot 添加标记注释
【发布时间】:2018-07-27 23:11:12
【问题描述】:

这是我在网站上的第一个问题,但是我花了很多时间在这里寻找有价值的答案!

我搜索了整个网站,但找不到解决问题的好方法,希望有人能提供帮助!我有一个创建了 regplot 的 pandas 数据库,但是我真的很想为基于另一列的每个标记添加注释。 这是我现有情节的代码:

fig, ax = plt.subplots()
fig.set_size_inches(8,5)
sns.regplot(x=brakev["Curb_Weight"], y=brakev["Braking_60_0"])
sns.regplot(x=brakev["Curb_Weight"], y=brakev["Braking_60_0"], fit_reg=False)

这是图表:regplot .我在 Python Graph Gallery 上找到了一个提案(以及 Stack Overflow 上的其他提案),但我很难让它发挥作用:

for line in range(0,df.shape[0]):
    p1.text(df.x[line]+0.2, df.y[line], df.group[line], horizontalalignment='left', size='medium', color='black', weight='semibold')

我想在每个标记旁边的“模型”列中添加一个注释。目前我不太关心位置、颜色、字体大小,但这也会有所帮助。

这是我的数据库的brakev.head():

brakev.head()
    Model           Curb_Weight Braking_60_0
0   Transit Connect 3580.0      132.0
1   NV200           3690.0      129.0
2   Sprinter        3710.0      132.0
3   Express         3620.0      135.0
4   Transit         3960.0      136.0

对不起,如果这是重复的,(我确定它是,但我找不到它!!)。感谢您的帮助!

【问题讨论】:

  • 这是您想阅读的第一个问题How to Askminimal reproducible example。尤其重要的是代码清晰且可运行,并且您解释了期望和不期望的结果。 “努力让它工作”不是一个有用的问题描述。你有错误吗?如果是这样,请显示回溯。情节看起来是否出人意料,如果是的话怎么办?

标签: pandas seaborn


【解决方案1】:

我找到了解决办法!关键是首先将每个 x、y 和 label 元素存储到一个列表中:

Curb_Weight = brakev.Curb_Weight.tolist()
Braking_60_0 = brakev.Braking_60_0.tolist()
Model = brakev.Model.tolist()

在此之后,建议的解决方案相对容易实施:

fig, ax = plt.subplots()
fig.set_size_inches(20,12)
sns.regplot(data=brakev, x='Curb_Weight', y='Braking_60_0')
p1 = sns.regplot(data=brakev, x='Curb_Weight', y='Braking_60_0',fit_reg=False,marker='o',scatter_kws={'s':50})

for line in range(0,brakev.shape[0]):
    p1.text(Curb_Weight[line]+1.8, Braking_60_0[line], Model[line],
            horizontalalignment='left',size='medium',color='black',weight='semibold')

结果包括标记旁边的注释标签,并且相对清晰,不包括一些重叠: Diagram

如果有人有优化建议,或者有想法如何在另一个标记在特定范围内时“翻转”标签的方向以避免重叠,请告诉我!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-26
    • 1970-01-01
    • 2020-03-18
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    相关资源
    最近更新 更多