>>> 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
但是,只有将所有标签移动指定数量而不是对齐它们。
答案 0 :(得分:3)
是的,那种对齐很糟糕。怎么敢让自己制作"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
用于向左略微偏移(试错)。
答案 1 :(得分:0)
如果遍历所有轴 g.axes.flatten()
对我有用。
for ax in g.axes.flatten():
ax.get_yaxis().set_label_coords(-0.2,0.5)