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

标签 python matplotlib seaborn colorbar

在 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 中执行此操作的最佳方法是什么?

最佳答案

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)

关于python - 如何删除 seaborn 的 lmplot 函数中的图例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56797990/

相关文章:

python - 使用 csv 模块解析 .txt 文件中的文本

python - Numpy PIL Python : crop image on whitespace or crop text with histogram Thresholds

python - 通过调用包含绘图命令的函数在同一个图上绘制几个随机生成的线图

python - 更改Seaborn的对线的回归线颜色

python - 使用 mdates 和 matplotlib 将 x 轴设置为日期

python - 在 PyTorch 中索引多维张量中的最大元素

python - 如何跳过在 Python 方法中提供默认参数

python - 在无法访问模型类代码的情况下保存 PyTorch 模型

python - 使用 matplotlib 绘制传入的数字流

python - 如何绘制 seaborn 中两个分布的差异?