Python 如何在我使用seaborn创建的散点图上添加圆

Python 如何在我使用seaborn创建的散点图上添加圆,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,正如标题所述,我想在散点图上加一个圆圈 假设我有一个像这样的df +--------+---------+------+ | X_GRID | Y_GRID | GRP | +--------+---------+------+ | 1 | 0 | HOT | | 2 | -1 | COLD | | 1 | 2 | COLD | | 2 | 1 | HOT | +--------+---------+-

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

假设我有一个像这样的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))
我该如何在散布图(假设半径=2,约为(0,0))周围加上一个红色圆圈(或任何颜色)?

参考


非常感谢你!一切如愿!请注意,您需要
ax.set_aspect('equal')
将圆显示为圆形,而不是椭圆.lmao,这也很有帮助。谢谢
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));