# seaborn.JointGrid
> 译者:[Yet-sun](https://github.com/Yet-sun)
```py
class seaborn.JointGrid(x, y, data=None, height=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None, size=None)
```
用于绘制具有边际单变量图的双变量图的网格。
```py
__init__(x, y, data=None, height=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None, size=None)
```
设置子图的网格。
参数:`x, y`:字符串或向量
> 在 `data`中的数据或变量名
`data`:DataFrame, 可选
> 当 `x` and `y` 是变量名的时候为 DataFrame。
`height`:数字
> 图中每一条边的大小(以英寸为单位)
`ratio`:数字
> 联合轴大小与边缘轴高度的比率。
`space`:数字,可选
> 联合轴和边缘轴之间的空间
`dropna`:bool, 可选
> 如果为 True,则删除 `x` 和 `y`中缺少的观察结果。
`{x, y}lim`:二元组,可选
> 在绘图之前设置轴限制。
也可以看看
用于绘制具有多种不同默认绘图类型的双变量图的高级界面。
例子:
初始化图形,但不在其上绘制任何图形:
```py
>>> import seaborn as sns; sns.set(style="ticks", color_codes=True)
>>> tips = sns.load_dataset("tips")
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-1.png](https://img.kancloud.cn/e4/23/e423f479133b1c5c31452962c9ba7ae0_540x540.jpg)
使用默认参数添加绘图:
```py
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
>>> g = g.plot(sns.regplot, sns.distplot)
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-2.png](https://img.kancloud.cn/c5/8a/c58a8b18df52c7880ff081e6d1bc045d_540x540.jpg)
分别绘制联合分布图和边缘直方图,这可以以更精细的级别控制其他参数:
```py
>>> import matplotlib.pyplot as plt
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
>>> g = g.plot_joint(plt.scatter, color=".5", edgecolor="white")
>>> g = g.plot_marginals(sns.distplot, kde=False, color=".5")
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-3.png](https://img.kancloud.cn/89/4a/894adaf9d83ce7b265238b8361be969d_540x540.jpg)
分别绘制两个边缘直方图:
```py
>>> import numpy as np
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
>>> g = g.plot_joint(plt.scatter, color="m", edgecolor="white")
>>> _ = g.ax_marg_x.hist(tips["total_bill"], color="b", alpha=.6,
... bins=np.arange(0, 60, 5))
>>> _ = g.ax_marg_y.hist(tips["tip"], color="r", alpha=.6,
... orientation="horizontal",
... bins=np.arange(0, 12, 1))
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-4.png](https://img.kancloud.cn/40/43/4043e5c09d8cf0a2c736f9e87e8fde9b_540x540.jpg)
添加注释,其中包含总结双变量关系的统计信息:
```py
>>> from scipy import stats
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
>>> g = g.plot_joint(plt.scatter,
... color="g", s=40, edgecolor="white")
>>> g = g.plot_marginals(sns.distplot, kde=False, color="g")
>>> g = g.annotate(stats.pearsonr)
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-5.png](https://img.kancloud.cn/1b/52/1b52b9a29a814810cd99f301cc4fbb9a_540x540.jpg)
使用自定义的函数和注释格式
```py
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
>>> g = g.plot_joint(plt.scatter,
... color="g", s=40, edgecolor="white")
>>> g = g.plot_marginals(sns.distplot, kde=False, color="g")
>>> rsquare = lambda a, b: stats.pearsonr(a, b)[0] ** 2
>>> g = g.annotate(rsquare, template="{stat}: {val:.2f}",
... stat="$R^2$", loc="upper left", fontsize=12)
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-6.png](https://img.kancloud.cn/4e/f1/4ef17513b2005d9ecbe8b972bb0e0d18_540x540.jpg)
移除联合轴和边缘轴之间的空间:
```py
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips, space=0)
>>> g = g.plot_joint(sns.kdeplot, cmap="Blues_d")
>>> g = g.plot_marginals(sns.kdeplot, shade=True)
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-7.png](https://img.kancloud.cn/12/64/1264ad214f3fbc7b6886f928b1e9cfbf_540x540.jpg)
绘制具有相对较大边缘轴的较小图:
```py
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips,
... height=5, ratio=2)
>>> g = g.plot_joint(sns.kdeplot, cmap="Reds_d")
>>> g = g.plot_marginals(sns.kdeplot, color="r", shade=True)
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-8.png](https://img.kancloud.cn/d3/08/d308fae6d67ed76670c1ae7e59291595_450x450.jpg)
设置轴的限制:
```py
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips,
... xlim=(0, 50), ylim=(0, 8))
>>> g = g.plot_joint(sns.kdeplot, cmap="Purples_d")
>>> g = g.plot_marginals(sns.kdeplot, color="m", shade=True)
```
![http://seaborn.pydata.org/_images/seaborn-JointGrid-9.png](https://img.kancloud.cn/92/a2/92a295b2b6b8103043f20dcf6ecdca0c_540x540.jpg)
方法
[`__init__`](#seaborn.JointGrid.__init__ "seaborn.JointGrid.__init__")(x, y[, data, height, ratio, space, …]) | 设置子图的网格设置子图的网格。
`annotate`(func[, template, stat, loc]) | 用关于关系的统计数据来标注绘图。
[`plot`](seaborn.JointGrid.plot.html#seaborn.JointGrid.plot "seaborn.JointGrid.plot")(joint_func, marginal_func[, annot_func]) | 绘制完整绘图的快捷方式。
[`plot_joint`](seaborn.JointGrid.plot_joint.html#seaborn.JointGrid.plot_joint "seaborn.JointGrid.plot_joint")(func, **kwargs) | 绘制 `x` 和 `y`的双变量图。
[`plot_marginals`](seaborn.JointGrid.plot_marginals.html#seaborn.JointGrid.plot_marginals "seaborn.JointGrid.plot_marginals")(func, **kwargs) | 分别绘制 `x` 和 `y` 的单变量图。
`savefig`(*args, **kwargs) | 封装 figure.savefig 默认为紧边界框。
`set_axis_labels`([xlabel, ylabel]) |在双变量轴上设置轴标签。
- seaborn 0.9 中文文档
- Seaborn 简介
- 安装和入门
- 可视化统计关系
- 可视化分类数据
- 可视化数据集的分布
- 线性关系可视化
- 构建结构化多图网格
- 控制图像的美学样式
- 选择调色板
- seaborn.relplot
- seaborn.scatterplot
- seaborn.lineplot
- seaborn.catplot
- seaborn.stripplot
- seaborn.swarmplot
- seaborn.boxplot
- seaborn.violinplot
- seaborn.boxenplot
- seaborn.pointplot
- seaborn.barplot
- seaborn.countplot
- seaborn.jointplot
- seaborn.pairplot
- seaborn.distplot
- seaborn.kdeplot
- seaborn.rugplot
- seaborn.lmplot
- seaborn.regplot
- seaborn.residplot
- seaborn.heatmap
- seaborn.clustermap
- seaborn.FacetGrid
- seaborn.FacetGrid.map
- seaborn.FacetGrid.map_dataframe
- seaborn.PairGrid
- seaborn.PairGrid.map
- seaborn.PairGrid.map_diag
- seaborn.PairGrid.map_offdiag
- seaborn.PairGrid.map_lower
- seaborn.PairGrid.map_upper
- seaborn.JointGrid
- seaborn.JointGrid.plot
- seaborn.JointGrid.plot_joint
- seaborn.JointGrid.plot_marginals
- seaborn.set
- seaborn.axes_style
- seaborn.set_style
- seaborn.plotting_context
- seaborn.set_context
- seaborn.set_color_codes
- seaborn.reset_defaults
- seaborn.reset_orig
- seaborn.set_palette
- seaborn.color_palette
- seaborn.husl_palette
- seaborn.hls_palette
- seaborn.cubehelix_palette
- seaborn.dark_palette
- seaborn.light_palette
- seaborn.diverging_palette
- seaborn.blend_palette
- seaborn.xkcd_palette
- seaborn.crayon_palette
- seaborn.mpl_palette
- seaborn.choose_colorbrewer_palette
- seaborn.choose_cubehelix_palette
- seaborn.choose_light_palette
- seaborn.choose_dark_palette
- seaborn.choose_diverging_palette
- seaborn.load_dataset
- seaborn.despine
- seaborn.desaturate
- seaborn.saturate
- seaborn.set_hls_values