如何在 seaborn 的 lmplot 函数中移除图例?

3
在seaborn的lmplot函数中,我们有hue参数,它会自动在右侧绘制颜色条。如何禁用/删除颜色条? 下面是一个生成颜色条的示例代码。
df = pd.DataFrame({'x':[1,2,3,1,2,3,1,2,3],'y':[1,2,3,2,3,4,3,4,5],'color':['a','a','a','b','b','b','c','c','c']})
facets = sns.lmplot(data=df, x='x', y='y', hue='color', fit_reg=False)
facets.fig.show()

enter image description here

我尝试调用颜色条对象并将其移除。在传统的Matplotlib方式中,我们可以使用:

collection = ax.scatter(x='a', y='b', data=df)
colorbar = fig.colorbar(collection)

我想调用它,但我不知道如何在lmplot中使用它。另一种替代方法是在sns.heatmap函数中,它提供了一个cbar参数。

sns.heatmap(crosstab, cbar=False)

但是在lmplot中没有cbar选项。最佳方法是在lmplot中如何实现它?


1
你看到的是一个图例,而不是色条。因此我会用 legend=False 开始。 - ImportanceOfBeingErnest
@ImportanceOfBeingErnest 那就是答案! - Zhenduo Cao
1个回答

0

在Matplotlib/Seaborn中,颜色条实际上类似于连续数据的图例(在热力图中得到)。在这种情况下,由于您有离散标签(a = blue,b = orange,c = green),因此需要访问legend。您可以在Python数据科学手册中了解更多区别。

现在,Seaborn中的大多数绘图类型都已经支持将legend参数传递到绘图方法中,例如:

facets = sns.lmplot(data=df, x='x', y='y', hue='color', fit_reg=False, legend=False)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接