使用FacetGrid时,Python probscale显示不同的标记类型

时间:2019-06-30 00:13:29

标签: python

我想使用带有probscale的seaborn FacetGrid绘制曲线的概率图,每个曲线以不同的色调(颜色)以及标记类型显示。 我尝试使用'hue_kws'参数来指定标记类型,但它似乎不起作用。 (参考:https://seaborn.pydata.org/generated/seaborn.FacetGrid.html

import seaborn as sns
import probscale

sns.set()
tips = sns.load_dataset("tips")

#try to plot probplots faceted to show different distributions by different
#hues and markers, but markers doesn't change
fg = (
    sns.FacetGrid(data=tips, hue='smoker', hue_kws=dict(marker=['o','v']),height=5)
        .map(probscale.probplot, 'total_bill', probax='y')
        .set_ylabels('Probabilities')
        .add_legend()
)

我希望标记类型会随色调(如hue_kws中所指定)一起改变,但是该图只为每条曲线显示不同的颜色,但标记保持相同的类型。 如何使曲线的标记类型与色相一起改变?

Probability Plot Output

1 个答案:

答案 0 :(得分:0)

probscale当前不支持此功能。您可以通过在第180行之后插入以下四行来修补...\Lib\site-packages\probscale\viz.py的副本,以启用此功能:

## !-- kwarg that only seaborn should use --! ##
_marker = fgkwargs.get('marker', None)
if _marker is not None:
    scatter_kws['marker'] = _marker

enter image description here