python - 如何删除 seaborn 的 lmplot 函数中的图例?

在 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()

我试图调用颜色条对象并将其删除。在传统的 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 中执行此操作的最佳方法是什么?

最佳答案

Matplotlib/Seaborn 中的颜色条实际上就像一个图例,但用于连续数据(您在热图中获得的数据)。在这种情况下,由于您有离散标签(a = 蓝色,b = 橙色,c = 绿色),您需要访问 legend。您可以在 Python Data Science Handbook 中阅读更多有关区别的信息。

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

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

https://stackoverflow.com/questions/56797990/

相关文章:

c++ - 使用 Microsoft Visual Studio 运行 C++ "hello wor

python-3.x - 如何在 python 中使用 opencv 读取数据矩阵代码?

python - 如何序列化 CSR 矩阵

datetime - Flutter:DateTime.now 不反射(reflect)手动设置的时

python - 如何在 python 中为 for 循环手动输入?

python - 如何在 Python 中使用计时器解锁条件?

git - 列出与完全 merge 的分支的提交差异时如何忽略精心挑选的提交

node.js - GCP 应用引擎 : Random pending requests for s

laravel - 当我部署到服务器时,Laravel 项目中的 vue 组件不会更新

swagger - 如何在开放式 API 规范中为字符串类型的属性指定空字符串值作为默认值