python画图如何调整图例位置_python-seaborn relplot:如何控制图例的位置并...

在matplotlib中更改图例位置的一种典型方法是使用参数loc和bbox_to_anchor.

在Seaborn的relplot中,将返回FacetGrid对象.为了获得图例对象,我们可以使用_legend.然后我们可以设置loc和bbox_to_anchor:

g = sns.relplot(...)

leg = g._legend

leg.set_bbox_to_anchor([0.5, 0.5]) # coordinates of lower left of bounding box

leg._loc = 2 # if required you can set the loc

标题同样适用. matplotlib参数为字幕.但是我们需要图形对象.所以我们可以使用

g.fig.suptitle("My Title")

全部放在一起:

import seaborn as sns

dots = sns.load_dataset("dots")

# Plot the lines on two facets

g = sns.relplot(x="time", y="firing_rate",

hue="coherence", size="choice", col="align",

size_order=["T1", "T2"],

height=5, aspect=.75, facet_kws=dict(sharex=False),

kind="line", legend="full", data=dots)

g.fig.suptitle("My Title")

leg = g._legend

leg.set_bbox_to_anchor([1,0.7]) # change the values here to move the legend box

# I am not using loc in this example

更新资料

?您可以通过提供x和y坐标(图坐标)来更改标题的位置,以使其不与子图标题重叠

g.fig.suptitle("My Title", x=0.4, y=0.98)

尽管我可能会稍微下移您的子图,然后将图形标题保留在使用的位置:

plt.subplots_adjust(top=0.85)

你可能感兴趣的:(python画图如何调整图例位置_python-seaborn relplot:如何控制图例的位置并...)