【问题标题】:How to plot a jointplot with 'hue' parameter in seaborn如何在 seaborn 中绘制带有“hue”参数的联合图
【发布时间】:2017-03-18 02:51:40
【问题描述】:

我想要以下命令行的情节:

import numpy as np, pandas as pd
import seaborn as sns; sns.set(style="white", color_codes=True)
tips = sns.load_dataset("tips")
g = sns.jointplot(x="total_bill", y="tip", data=tips, hue= 'sex')

如果参数“hue”是在联合图中实现的。

我该怎么做?

也许叠加两个联合图?

【问题讨论】:

标签: python pandas matplotlib seaborn


【解决方案1】:

一个简单的替代方法是使用seaborn.lmplot -- 即使没有绘制 x 和 y 直方图。

sns.lmplot(x='total_bill', y='tip', hue='sex', data=tips, fit_reg=False)

【讨论】:

    【解决方案2】:

    此功能已添加到 2020 年 9 月的 v0.11 Seaborn 版本中(例如,参见 release blog postdocumentation)。

    文档现在提供了一个基于企鹅数据集的出色示例:

    penguins = sns.load_dataset("penguins")
    sns.jointplot(data=penguins, x="bill_length_mm", y="bill_depth_mm", hue="species")
    

    我还想在联合图中给出一个核密度估计的最小示例(2d kdeplot):

    # optional: sns.set(style='darkgrid')
    data = {'x': [1, 2, 3, 4, 5, 6], 
            'y': [2, 4, 1.5, 4, 3, 5], 
            'class': ['1', '1', '1', '0', '0', '0']}
    sns.jointplot(data=data, x='x', y='y', hue='class', kind='kde',
                  fill=True, joint_kws={'alpha': 0.7})
    

    【讨论】:

    • 它抛出一个错误,unexpected keyword argument 第一个 alpha 删除它下一个填充删除它下一个色调,最后工作我真的不知道为什么不能使用 kindhue(注意我我用reg 表示)
    【解决方案3】:

    很遗憾,你不能

    而且近期不会实现,因为应该保留jointplot的简单性。

    请看这里:https://github.com/mwaskom/seaborn/issues/365

    你只能半途而废(没有两个类的历史):Plotting two distributions in seaborn.jointplot

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • 嗯,那么如果不是“不”和“你将来不能这样做”和“因为应该保留联合图的简单性”,那么链接会说什么?我的回答完全总结了链接所说的内容,链接本身就是我的来源......那么你想改变什么?
    • @echonax,答案就在这里,你做不到。该链接仅支持我的陈述。那我应该改变什么?
    • 有趣的是,@Mayou36 得出的结论是,这不会在不久的将来实现,然后在不到一年的时间里,这个功能确实实现了!
    【解决方案4】:

    这是一个使用pairplot的解决方案。

    g = sns.pairplot(data=tips[['total_bill','tip','sex']], hue='sex', corner=True, )
    

    【讨论】:

      猜你喜欢
      • 2016-05-04
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      相关资源
      最近更新 更多