Python 使用s时,轴标签与最右边的图形对齐

Python 使用s时,轴标签与最右边的图形对齐,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我在对齐我的sns.jointplot图上的文本时遇到问题。x和y标签被指定在最右边的图上,而不是主图上。我找不到方法将它们仅归因于主图 我的代码如下 z = sns.jointplot(load[0:9500], priceerror[0:9500], kind='scatter', dropna = True, stat_func=None, size=7, ratio=3, xlim=(0,60000)); plt.rc("legend", fonts

我在对齐我的sns.jointplot图上的文本时遇到问题。x和y标签被指定在最右边的图上,而不是主图上。我找不到方法将它们仅归因于主图

我的代码如下

z = sns.jointplot(load[0:9500], priceerror[0:9500], kind='scatter', dropna = True, stat_func=None, 
                  size=7, ratio=3, xlim=(0,60000));
plt.rc("legend", fontsize=15)
plt.xlabel('Load (MW)')
plt.ylabel('Price Error (£/MWh)')
plt.tick_params(axis="both", labelsize=15)

rc参数应在受其影响的绘图命令之前设置,因此将
plt.rc(“图例”,fontsize=15)
移到顶部

jointplot返回一个
JointGrid
实例。这有一个设置标签的方法
set\u axis\u labels

最后,它提供轴作为
ax\u关节
(以及
ax\u边缘
ax\u边缘
)。这些可用于常规matplotlib方法的进一步操作。例如,
g.ax_关节。勾选参数(..)
用于修改勾选参数

import numpy as np;  np.random.seed(0)
import seaborn as sns
tips = sns.load_dataset("tips")

import matplotlib.pyplot as plt
plt.rc("legend", fontsize=14)

g = sns.jointplot(x="total_bill", y="tip", data=tips)
g.set_axis_labels('Load (MW)', u'Price Error (£/MWh)')
# alterntively g.ax_joint.set_ylabel('Price Error (£/MWh)')

g.ax_joint.tick_params(axis="both", labelsize=15)

plt.show()

例如,如果使用
plt.xlabel
,标签将始终设置为最后一个活动轴(在您的情况下,该轴似乎不是您要调整的轴。当使用纯
matplotlib
时,通常通过直接使用
ax.set\xlabel()更改
轴来避免此情况
。我快速查看了
seaborn
文档(我假设这是
seaborn
,在那里什么也没找到,但在里面似乎有一些函数可以访问单独的轴。。。