如何自定义seaborn.objects.Plot()绘制的堆叠条形图调色板?
修改Seaborn Objects堆叠条形图的调色板
在Seaborn Objects API中,调整分类颜色(比如这里的男女分组)需要使用.scale()方法,而非直接在so.Plot()或so.Bar()中设置。你可以通过以下几种方式自定义调色板:
方式1:直接指定对应类别的颜色
针对sex字段的两个类别(male/female),直接映射自定义颜色:
import seaborn.objects as so from seaborn import load_dataset titanic = load_dataset("titanic") so.Plot(titanic, x="class", color="sex")\ .add(so.Bar(), so.Count(), so.Stack())\ .scale(color={"male": "navy", "female": "crimson"})
方式2:使用颜色列表
如果类别顺序固定,也可以直接传入颜色列表:
so.Plot(titanic, x="class", color="sex")\ .add(so.Bar(), so.Count(), so.Stack())\ .scale(color=so.Color(["#1f77b4", "#ff7f0e"]))
方式3:使用Seaborn内置调色板
调用Seaborn的内置调色板名称,比如"Set2"、"viridis"等:
so.Plot(titanic, x="class", color="sex")\ .add(so.Bar(), so.Count(), so.Stack())\ .scale(color=so.Color("Set2"))
.scale()方法负责管理可视化元素的尺度映射,针对color参数设置对应的颜色规则,就能精准修改不同性别分组的条形颜色。
内容的提问来源于stack exchange,提问作者Trideep
相关产品推荐
相关产品推荐

