如何在调色板中使用“下一个”颜色而不手动指定它?

问题描述

我在seaborn中绘制了一些散点图,它们都带有蓝点:

enter image description here

我想更改点的颜色。我找到了一些相当复杂的解决方案,您可以在其中手动指定颜色,但这不是我想要的。

我不在乎它是哪种颜色,它应该与蓝色不同,并且应该是当前调色板的颜色之一,以保持视觉效果

是否存在类似start_with_palette_color=1认为0)的内容

sns.scatterplot(data=tips,x="total_bill",y="tip",start_with_palette_color=1)

解决方法

在不带参数的情况下调用 color_palette()可以查看当前调色板。它返回代表调色板颜色的RGB元组列表。

scatterplot()接受命名参数color=来指定任何颜色。

import seaborn as sns
tips = sns.load_dataset("tips")
# first scatter plot with default color
sns.scatterplot(data=tips,x="total_bill",y="tip")
# second scatter plot with the next color (array index 1 instead of implicit 0)
sns.scatterplot(data=tips,y="tip",color=sns.color_palette()[1])
,

在任何地方matplotlib接受颜色,您都可以使用"C{i}"在当前matplotlib周期中获得第i个颜色,这可能是实现此目的的最简单方法。

例如,“ C0”。或“ C3”。