如何使用' hue'来绘制一个关节图?参数在seaborn

时间:2016-11-04 10:01:57

标签: python pandas matplotlib seaborn

我想要以下命令行的图:

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')

如果参数'色调'在联合剧情中实施。

我该怎么做?

可能重叠两个联合情节?

4 个答案:

答案 0 :(得分:9)

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

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

enter image description here

答案 1 :(得分:6)

自从最新的Seaborn版本(2020年9月的v0.11,例如参见release blog postdocumentation)以来,这已经成为可能。

文档现在具有一个基于企鹅数据集的出色示例:

implicit def aListIsContainer[T] = new IsContainer[List[T], T] {
  override type O = Int
  override def getOtherContainer(implicit tc2: IsUnit[O]): O = 3
}

seaborn jointplot example with scatterplot

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

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

seaborn jointplot example with kdeplot

答案 2 :(得分:3)

不幸的是,你不能

并且不会在不久的将来实施,因为应该保留关节图的简单性。

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

你只能中途完成(没有两个类的hist):Plotting two distributions in seaborn.jointplot

答案 3 :(得分:0)

这里是使用pairplot的解决方案。

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

enter image description here