Seaborn双变量分布jointplot的坐标轴标签设置

详细版本见个人博客:Seaborn双变量分布jointplot的坐标轴标签设置


一、问题描述

我采用jointplot()进行双变量分布绘图:

sns.jointplot(x, y)

但是没法通过plt.xlabel来修改它的坐标轴标签。

二、解决办法

这里要用到JointGrid对象。

jointplot()函数基于JointGrid对象来控制图形。我们可以直接使用JointGrid来获得更高的灵活性。jointplot()在绘制完成后会返回一个JointGrid对象,我们可以通过它来增加更多图层或者调整其他细节。

下面是一个的修改jointplot()坐标轴标签的实例:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

#example data
X = np.random.randn(1000,)
Y = 0.2 * np.random.randn(1000) + 0.5

h = sns.jointplot(X, Y)

# JointGrid has a convenience function
h.set_axis_labels('x', 'y', fontsize=16)

# or set labels via the axes objects
h.ax_joint.set_xlabel('new x label', fontweight='bold')

# also possible to manipulate the histogram plots this way, e.g.
h.ax_marg_y.grid('on')

# labels appear outside of plot area, so auto-adjust
plt.tight_layout()

plt.show()

如果采用plt.xlabel(“text”)方法,这个方法会作用在在当前ax上,而不是在sns.jointplot的ax上。因此需要用jointplot()返回的JointGrid对象来控制。


详细版本见个人博客:Seaborn双变量分布jointplot的坐标轴标签设置

你可能感兴趣的:(数据分析)