Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.4k views
in Technique[技术] by (71.8m points)

plot - Python Seaborn lmplot legend with p-value

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...