Seaborn graphing: Highlighting single data point in jointplot

use*_*489 5 python matplotlib seaborn

I'm trying to just highlight a single point on a Seaborn jointplot, but I'm coming up a little short. I'm able to plot the point from matplotlib - it's just not showing up in the same chart. What am I doing wrong? Thanks!

import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
import pandas as pd

#make some sample data
test_x = [i for i in range(10)]
test_y = [j for j in range(10)]

df = pd.DataFrame({'xs':test_x,
                  'ys':test_y})

#make Seaborn chart
g = sns.jointplot(x="xs", y="ys", data = df)


#sort the table to find the top y value
df = df.sort_values('ys', ascending = False)

#find coordinates of this point
highlight_x = df.iloc[0,0]
highlight_y = df.iloc[0,1]

#this is wrong - I want it to be in the same chart
plt.scatter(highlight_x, highlight_y, color = 'red')

plt.show()
Run Code Online (Sandbox Code Playgroud)

此代码的输出

Imp*_*est 5

plt.scatter将在当前轴上绘制。当前的轴(显然)是右侧的轴,而不是中央的轴。因此,最好直接指定要绘制的轴。a 的中心轴JointGrid g可以通过以下方式获得g.ax_joint

g = sns.jointplot(...)
# ...
g.ax_joint.scatter(highlight_x, highlight_y, color = 'red')
Run Code Online (Sandbox Code Playgroud)