如何解决Seaborn中“调色板数量超出需求”的UserWarning?
解决Seaborn调色板颜色数量过多的UserWarning
方法1:截取调色板的前N种颜色(N为聚类数)
直接从tab10调色板里取前4个颜色,让调色板数量和聚类数完全匹配,消除警告:
k_clust = KMeans(n_clusters=4, random_state=35, n_init=1).fit(df_normal) # 只取tab10的前4种颜色 palette = sns.color_palette("tab10")[:4] sns.pairplot(new_df, hue="clusters", palette=palette)
方法2:直接传入调色板名称(推荐)
不用手动获取完整调色板列表,直接把"tab10"作为palette参数的值传入,Seaborn会自动根据hue对应的类别数量(这里是4个聚类)选取对应数量的颜色,不会触发警告:
k_clust = KMeans(n_clusters=4, random_state=35, n_init=1).fit(df_normal) sns.pairplot(new_df, hue="clusters", palette="tab10")
方法3:手动指定需要的特定颜色
如果你只想用tab10里的蓝色、绿色、橙色、红色这几个目标颜色,可以通过索引精准提取(tab10的索引0是蓝色,1是橙色,2是绿色,3是红色):
k_clust = KMeans(n_clusters=4, random_state=35, n_init=1).fit(df_normal) # 提取指定的4种颜色 palette = sns.color_palette("tab10")[0:4] sns.pairplot(new_df, hue="clusters", palette=palette)
内容的提问来源于stack exchange,提问作者andy_H
相关产品推荐
相关产品推荐

