matplotlib 如何在海运配对格网中对齐y标注

6xfqseft  于 11个月前  发布在  其他
关注(0)|答案(3)|浏览(93)

关于documentation

>>> import matplotlib.pyplot as plt
>>> import seaborn as sns; sns.set()
>>> iris = sns.load_dataset("iris")
>>> g = sns.PairGrid(iris)
>>> g = g.map(plt.scatter)

字符串


的数据
如何对齐y标签?
我所尝试的:

for ax in g.axes.flat:
    ax.yaxis.labelpad = 20


但是,这只会将所有标签移动指定的量,而不是对齐它们。

kd3sttzy

kd3sttzy1#

是的,对齐是可怕的。怎么敢一个软件包,吹嘘使"attractive statistical graphics"失败如此糟糕的对齐标签?!只是开玩笑,我爱我一些海运,至少在如何改善我自己的情节的灵感。
您正在寻找:

ax.get_yaxis().set_label_coords(x,y) # conveniently in axis coordinates

字符串
此外,我只会在显示标签的轴上添加标记,但这只是我:

for ax in g.axes[:,0]:
    ax.get_yaxis().set_label_coords(-0.2,0.5)


0.5表示居中垂直对齐,-0.2表示向左轻微偏移(试错法)。
x1c 0d1x的数据

pdkcd3nj

pdkcd3nj2#

如果在所有轴g.axes.flatten()上迭代对我有效。

for ax in g.axes.flatten():
    ax.get_yaxis().set_label_coords(-0.2,0.5)

字符串

k4ymrczo

k4ymrczo3#

简单的方法:

g.figure.align_ylabels(g.axes.flatten())

字符串

相关问题