更改 Seaborn 包中的图表颜色

3

我希望能改变这个图表的颜色,它可以正确地展示数据,但是你可以看到,由于所有这些颜色非常相似(7个类别),所以很难阅读。有简单的方法可以做到吗? 生成图表的代码:

sns.pairplot(data, kind="scatter", hue = "Class")

Piece of plot

3个回答

5
您可以使用可选参数pallete,例如(参见此处):
sns.pairplot(data, kind="scatter", hue = "Class", pallete = "Paired")

在此示例中,我选择了配色方案“Paired”,但还有许多其他可用的选项。您还可以使用:
sb.set_palette("dark")
sns.pairplot(data, kind="scatter", hue = "Class")

您可以在Seaborn网站上了解更多有关可用颜色调色板的信息,https://seaborn.pydata.org/tutorial/color_palettes.html


示例代码片段中的palette拼写错误。 - undefined

1

与调色板相关的最重要的函数是color_palette()。这个函数提供了一个接口,用于生成 seaborn 中可能的大多数调色板方式。任何具有palette参数的函数内部都使用它。例如:

sns.color_palette("tab10")

0
正如其他答案中提到的,Seaborn在绘图时并不总是使用颜色调色板设置。例如,当使用histplot绘制2D散点图时,我总是被困在无聊的蓝色火箭调色板中。我想要的是根据每个2D bin中的密度进行颜色缩放。可以通过cmap选项来解决这个问题。下面是一个使用房屋数据创建漂亮的彩虹色调色板的示例。
import pandas as pd
import seaborn as sns
url = 'data/ames-housing-dataset.zip'
housing = pd.read_csv(url, engine='pyarrow', dtype_backend='pyarrow')

sns.histplot(
    housing, x="1st Flr SF", y="SalePrice",
    bins=30, discrete=(False, False), log_scale=(False, False),cbar=True,
    hue_norm=True, cmap="viridis"
)

以下是结果。希望对您有所帮助。

A seaborn 2D histplot with color scaling based on density of data points


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接