如何在 Seaborn PairGrid 中对齐 y 标签
How to align y labels in a Seaborn PairGrid
>>> 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
但是,这只会将所有标签移动指定的量而不是对齐它们。
是的,这种对齐方式很糟糕。一个自夸 "attractive statistical graphics" 的包怎么敢在标签对齐时如此糟糕地失败?!开个玩笑,我爱我一些 seaborn,至少是关于如何改进我自己的情节的灵感。
您正在寻找:
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
用于稍微向左偏移(反复试验)。
如果迭代所有轴 g.axes.flatten()
对我有用。
for ax in g.axes.flatten():
ax.get_yaxis().set_label_coords(-0.2,0.5)
>>> 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
但是,这只会将所有标签移动指定的量而不是对齐它们。
是的,这种对齐方式很糟糕。一个自夸 "attractive statistical graphics" 的包怎么敢在标签对齐时如此糟糕地失败?!开个玩笑,我爱我一些 seaborn,至少是关于如何改进我自己的情节的灵感。
您正在寻找:
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
用于稍微向左偏移(反复试验)。
如果迭代所有轴 g.axes.flatten()
对我有用。
for ax in g.axes.flatten():
ax.get_yaxis().set_label_coords(-0.2,0.5)