我设置了一个仅包含黑色和灰色的调色板,如下所示。
import seaborn as sns
sns.set_palette(['#000000', '#ABABAB'])
如果我的地块中只有两个或更少的色块,则此方法很好。
sns.barplot([1, 2], [3, 4])
但是,当条形多于颜色时,seaborn
会切换回默认调色板。
sns.barplot([1, 2, 3], [4, 5, 6])
我可以使seaborn
遍历自定义调色板吗?在上述情况下,第一个条应为黑色,第二条应为灰色,第三个应为黑色。
我当前的解决方法是
sns.set_palette(['#000000', '#ABABAB']*1000)
但是我怀疑这是标准的方法。
答案 0 :(得分:3)
根据官方文档,这非常简单。只需将n_colors
设置为大于调色板中的颜色数即可。以下是相关信息(突出显示的粗体)。在这里,您可以将n_colors
设置为一个较大的数字。大于2的情况将适用于您的情况。
n_colors:int,可选 调色板中的颜色数。如果
None
,则默认值取决于 有关如何指定palette
的信息。命名调色板默认为6种颜色, 但抓取当前调色板或传入颜色列表将 除非指定,否则请勿更改颜色数量。 要求 颜色多于调色板中的颜色将导致其循环。
import seaborn as sns
sns.set_palette(['#000000', '#ABABAB'], n_colors=100)
sns.barplot([1, 2, 3], [4, 5, 6])
编辑:似乎n_colors
所需要的补丁数量也要多于补丁数量(在这种情况下为条)。因此,如果调色板中有两种颜色且有4种色块,则n_colors
也应大于两者(在这种情况下为> 4)。