如何手动输入一个键值到seaborn jointplot stat_func?

时间:2016-10-26 14:06:04

标签: python seaborn

我想在seaborn jointplot上显示一些参数。

让我们像apples=5

一样说pearson=.3

我对默认选项不感兴趣。所以我使用以下代码行生成图表:

sns.jointplot(sp.time, mn, color="#4CB391", stat_func=None)

文档说明:

stat_func : callable or None, optional
Function used to calculate a statistic about the relationship and annotate the plot. 
Should map x and y either to a single value or to a (value, p) tuple. 
Set to None if you don’t want to annotate the plot.

有人可以帮助填写stat_func正确显示我选择的键值对吗?

谢谢。

情节为enter image description here

1 个答案:

答案 0 :(得分:1)

您可以创建自己的函数,该函数接受两个输入参数(来自sns.jointplot()的调用中的x和y)并返回两个值的值或元组。如果您只想显示任意文本,最好使用@ mwaskom对您的问题的评论中指出的ax.text()。但是如果你是从你自己的函数计算某些东西,你可以这样做:

import seaborn as sns
tips = sns.load_dataset('tips')

def apples(x, y):
    # Actual calculations go here
    return 5

sns.jointplot('tip', 'total_bill', data=tips, stat_func=apples)

enter image description here

如果apples()在元组中返回了两个值(例如return (5, 0.3)),则第二个值将代表p,结果文本注释将为apples = 5; p = 0.3

只要返回格式是单个值或(value, p)元组,您就可以计算这样的任何统计信息。例如,如果您想使用scipy.stats.kendalltau,则可以使用

from scipy import stats
sns.jointplot('tip', 'total_bill', data=tips, stat_func=stats.kendalltau)

enter image description here