seaborn jointplot中的其他关键字参数

时间:2014-10-14 09:35:04

标签: python matplotlib seaborn

我正在试图找出matplotlib和seaborn绘图函数是如何关联的。特别是,我想知道哪些pyplot参数可以传递给函数marginal_kws中的关键字dicts annot_kwsseaborn.jointplot()

假设我们的DataFrame data包含c0列和c1列。我猜测joint_kws接受来自pyplot.hexbin()的参数,所以当我尝试用那里的参数调整外观时,它运行良好:

import seaborn as sns   
sns.jointplot('c0', 'c1', data=data,  kind='hex',
               joint_kws={'gridsize':100, 'bins':'log', 'xscale':'log', 'yscale':'log'})

然后我尝试使用来自log=True的参数pyplot.hist()在直方图轴上设置对数比例:

    sns.jointplot('c0', 'c1', data=data,  kind='hex',
                   joint_kws={'gridsize':100, 'bins':'log', 'xscale':'log', 'yscale':'log'}, 
                   marginal_kws={'log':True})

这导致

TypeError: distplot() got an unexpected keyword argument 'log'

如何正确使用?

P.S。这个问题不是关于在seaborn中设置日志比例(我知道JointGrid),而是将matplotlib参数作为一个整体传递给seaborn函数。

1 个答案:

答案 0 :(得分:6)

关键字参数字典被传递给distplothist_kws获取marginal_kws={'hist_kws': {'log': True}}的字典。所以你必须做jointplot之类的事情。话虽如此,共享日志轴仍然是JointGrid的持久头痛,在调整代码时我无法获得看起来很好的东西。但是,一些调整可能会让它发挥作用。

尝试使用{{1}} directly来避免这种复杂性也可能很有用。