In version 0.11.1 of Seaborn, both stat_func and .annotate have been deprecated. Therefore, it is not clear anymore how to add a legend to a plot with values such as the Pearson correlation coefficient and the p-value.
I found a solution (by Sambit Mahapatra) for adding such a legend to a jointplot here shown below:
import scipy.stats as stats
graph = sns.jointplot(data=df,x='x', y='y')
r, p = stats.pearsonr(x, y)
# if you choose to write your own legend, then you should adjust the properties then
phantom, = graph.ax_joint.plot([], [], linestyle="", alpha=0)
# here graph is not a ax but a joint grid, so we access the axis through ax_joint method
graph.ax_joint.legend([phantom],['r={:f}, p={:f}'.format(r,p)])
However, this doesn't work for lmplot since it is based on FacetGrid instead of JointGrid. How can I add such a legend with statistical information in lmplot?
Thank you!
question from:
https://stackoverflow.com/questions/65907478/python-seaborn-lmplot-legend-with-p-value 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…