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