Seaborn.JointGrid 类
Seaborn.JointGrid 类用作 Grid,用于绘制带有边际单变量图的双变量图。
通常,已经可以使用名为 jointplot() 的图形级接口绘制许多图; 但是,如果我们需要更灵活的数据可视化,我们可以使用这个类。 该类在基础上设置网格并在内部存储数据以使绘图更容易
seaborn.JointGrid 的语法如下
class seaborn.JointGrid(**kwargs) __init__(self, *, x=None, y=None, data=None, height=6, ratio=5, space=0.2, dropna=False, xlim=None, ylim=None, size=None, marginal_ticks=False, hue=None, palette=None, hue_order=None, hue_norm=None)
seaborn.JointGrid参数
这个类的一些参数如下所示。
S.No | 参数及说明 |
---|---|
1 | Data 采用数据框,其中每一列都是一个变量,每一行都是一个观察值。 |
2 | hue 指定将显示在特定网格面上的数据部分的变量。 要调节此变量的级别顺序,请参阅 var order 参数。 |
3 | Kind 从{'scatter', 'kde', 'hist', 'reg'}中获取值,然后确定要绘制的图的类型。 |
4 | ratio 获取数值并确定关节轴高度与边缘轴高度的比率。 |
5 | Height 采用标量值并确定刻面的高度。 |
6 | Color 将 matplotlib 颜色作为输入并确定不使用色调映射时的单一颜色规范。 |
7 | Marginal_ticks 采用布尔值,如果为 False,则抑制边缘图的计数/密度轴上的刻度。 |
8 | hue_order 将列表作为输入,分面变量级别的顺序由此顺序确定。 |
让我们在继续开发绘图之前加载 seaborn 库和数据集。
载入seaborn 库
要加载或导入 seaborn 库,可以使用以下代码行。
Import seaborn as sns
加载数据集
在本文中,我们将使用 seaborn 库中内置的 Tips 数据集。 以下命令用于加载数据集。
tips=sns.load_dataset("tips")
下面提到的命令用于查看数据集中的前 5 行。 这使我们能够了解哪些变量可用于绘制图形。
tips.head()
下面是上面这段代码的输出 −
index,total_bill,tip,sex,smoker,day,time,size 0,16.99,1.01,Female,No,Sun,Dinner,2 1,10.34,1.66,Male,No,Sun,Dinner,3 2,21.01,3.5,Male,No,Sun,Dinner,3 3,23.68,3.31,Male,No,Sun,Dinner,2 4,24.59,3.61,Female,No,Sun,Dinner,4
现在我们已经加载了数据,我们将继续绘制数据。
示例 1
在下面的示例中,我们将通过将提示数据集和 x、y 列传递给它来绘制一个简单的 JointGrid。 这将生成一个 JointGrid 空面。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.JointGrid(data=tips, x="total_bill", y="tip") plt.show()
输出
产生的输出图如下,
示例 2
在此示例中,我们将在 joint grid切面绘制散点图。 在刻面内部绘制散点图,在刻面边缘绘制核密度估计图。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() g = sns.JointGrid(data=tips, x="total_bill", y="tip") g.plot(sns.scatterplot, sns.kdeplot) plt.show()
输出
输出图如图所示,
示例 3
与上例类似,使用plot()函数在 joint grid切面内绘制散点图,在切面边缘绘制直方图。 除了这些,还有一些其他参数被传递给该函数,例如 edge color、line width 和 alpha。
这里,edge color 是一个特殊的参数 hat 取值,matplotlib 颜色或"grey"。 它是一个可选参数。 每个点周围线条的色调由该参数决定。 如果您通过"grey",则用于点主体的配色方案决定了亮度。
Linewidth 是一个参数,它采用浮点值并确定划分每个单元格的线的宽度。 接下来,传递 alpha 参数。 我们可以利用 plot 函数中的 alpha 参数来修改绘图的透明度。 它的值默认设置为 1。此选项的值介于 0 和 1 之间,随着值接近 0,绘图变得更加半透明和不可见。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() g = sns.JointGrid(data=tips, x="total_bill", y="sex") g.plot(sns.scatterplot, sns.histplot, alpha=.5, edgecolor=".5", linewidth=.5) plt.show()
输出
现在得到的图如下,
示例 4
也可以在 JointGrid 面的边缘绘制分类图。 在这个例子中,我们将如何绘制箱线图。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() g = sns.JointGrid(data=tips, x="total_bill", y="tip") g.plot(sns.regplot, sns.boxplot) plt.show()
输出
得到的输出如下 −