【问题标题】:How to add a circle over a scatter plot I have created using seaborn [duplicate]如何在我使用 seaborn 创建的散点图上添加一个圆圈 [重复]
【发布时间】:2021-05-16 11:45:22
【问题描述】:

正如标题所说,我想在散点图上画一个圆圈

假设我有一个这样的 df

+--------+---------+------+
| X_GRID | Y_GRID  | GRP  |
+--------+---------+------+
|      1 |       0 | HOT  |
|      2 |      -1 | COLD |
|      1 |       2 | COLD |
|      2 |       1 | HOT  |
+--------+---------+------+

我用它来创建一个像这样的散点图

ax = sns.scatterplot(data=df, hue='GRP', x='X_GRID', y='Y_GRID')
ax.set(xlim=(-4, 4))
ax.set(ylim=(-4, 4))

我将如何在 (0,0) 附近的半径 = 2 的散点图周围强加一个红色圆圈(或任何颜色)?

【问题讨论】:

    标签: python matplotlib seaborn


    【解决方案1】:

    引用自here

    import pandas as pd
    import seaborn as sns
    df = pd.DataFrame()
    df['X_GRID'] = [1,2,1,2]
    df['Y_GRID'] = [0,-1,2,1]
    df['GRP'] = ['HOT','COLD','COLD','HOT']
    circle1 = plt.Circle(xy=(0, 0), radius=2, color='red', fill=False)
    ax = sns.scatterplot(data=df, hue='GRP', x='X_GRID', y='Y_GRID')
    ax.add_patch(circle1)
    ax.set(xlim=(-4, 4))
    ax.set(ylim=(-4, 4));
    

    【讨论】:

    • 非常感谢!按预期工作!
    • 请注意,您需要ax.set_aspect('equal') 才能将圆显示为圆形而不是椭圆。
    • lmao 也很有帮助。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 2016-07-08
    • 1970-01-01
    相关资源
    最近更新 更多