在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中执行此操作的最佳方法是什么?
答案 0 :(得分:0)
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)