我试图突出Seaborn联合剧情中的一个点,但我有点短暂。我能够从matplotlib绘制点 - 它只是没有出现在同一个图表中。我究竟做错了什么?谢谢!
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()
答案 0 :(得分:3)
plt.scatter
将在当前轴上绘制。当前轴(显然)是右边的轴,而不是中心轴。因此,最好直接指定要绘制的轴。 JointGrid
g
的中心轴可以通过g.ax_joint
获得:
g = sns.jointplot(...)
# ...
g.ax_joint.scatter(highlight_x, highlight_y, color = 'red')