问题描述
我在seaborn中绘制了一些散点图,它们都带有蓝点:
我想更改点的颜色。我找到了一些相当复杂的解决方案,您可以在其中手动指定颜色,但这不是我想要的。
我不在乎它是哪种颜色,它应该与蓝色不同,并且应该是当前调色板的颜色之一,以保持视觉效果。
是否存在类似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”。