【发布时间】:2019-10-17 07:16:40
【问题描述】:
我见过Creating multi column legend in python seaborn plot,但我认为我的问题有点不同。简而言之,我有一个数据框,我在seaborn 的lmplot 中绘制并得到一个FacetGrid。麻烦的是,hue 有很多值,所以我得到了一个超长的单列图例。下面的代码示例:
ers = sns.lmplot(
data=emorb,
x="Pb",
y="Nd",
row="Ridge Sys",
hue="Seg Name",
scatter=True,
fit_reg=False,
scatter_kws={"alpha":0.7, "edgecolor": "w"},
palette=sns.color_palette("bright", 20),
legend=True
)
ers.set(ylim=(0.5122,0.5134))
我可以访问通过调用ers._legend 创建的图例对象,这将返回一个类型为Legend 的对象(基本上是一个matplotlib 对象)。但是,我无法调用此图例对象来更改列数,例如:
l = ers._legend
l(ncols=9)
有什么建议,还是我遗漏了一些更明显的东西,例如重绘图例和指定任何参数的方法?
谢谢。
【问题讨论】:
标签: python matplotlib plot seaborn legend