标签: pairplot

Seabornpairplot() 错误,OptionError:“没有这样的键:'mode.use_inf_as_null'”,知道吗?

当我尝试应用 searborpairplot 时,出现错误。我的完整脚本很简单,复制如下:

import seaborn as sns
import pandas as pd
import numpy as np

# Creating a sample DataFrame
data = {
    'A': np.random.randn(100),
    'B': np.random.randn(100),
    'C': np.random.randn(100),
    'D': np.random.randn(100)
}
df = pd.DataFrame(data)

# Create a pair plot
sns.pairplot(df)
Run Code Online (Sandbox Code Playgroud)

但我抛出了这个错误:

---------------------------------------------------------------------------
OptionError                               Traceback (most recent call last)
Cell In[26], line 15
     12 df = pd.DataFrame(data)
     14 # Create a pair plot
---> 15 sns.pairplot(df)

File ~/miniforge3/envs/marketing/lib/python3.9/site-packages/seaborn/_decorators.py:46, in _deprecate_positional_args..inner_f(*args, **kwargs)
     36     warnings.warn(
     37         "Pass the following variable{} as {}keyword …
Run Code Online (Sandbox Code Playgroud)

python inf seaborn pairplot

14
推荐指数
2
解决办法
2万
查看次数

如何更改 seaborn 对图中绘图元素的 z 顺序

这是一个片段,用于重现我的示例图像:

import pandas as pd
import numpy as np
import seaborn as sns

np.random.seed(42)
df = pd.DataFrame(np.random.rand(10,2), columns=['x', 'y'])
df['label'] = ['cat', 'mouse', 'dog', 'mouse', 'cat', 'cat', 'mouse', 'mouse','dog', 'cat']
sns.pairplot(df, hue='label');
Run Code Online (Sandbox Code Playgroud)

它生成以下seaborn对图,以及一些虚拟数据:

在此输入图像描述

在右上图中,“狗”类别的一个标记位于“鼠标”类别的覆盖标记下方。

我可以以某种方式更改散点图标记的 z 顺序,以便“狗”类别的所有标记在顶部最清晰可见吗?

编辑:我已经尝试过hue_order=['mouse', 'cat', 'dog']hue_order=['dog', 'mouse', 'cat'],但它们只影响图例和颜色中的顺序。不是散点图中标记的 z 顺序。

python z-order pandas seaborn pairplot

7
推荐指数
1
解决办法
1718
查看次数

Seaborn 对数图仅适用于特定列

我有一个数据框,我正在使用 seabornpairplot来绘制一个目标列与其余列的对比。

代码如下,

import seaborn as sns
import matplotlib.pyplot as plt

tgt_var = 'AB'
var_lst = ['A','GH','DL','GT','MS']

pp = sns.pairplot(data=df,
          y_vars=[tgt_var],
          x_vars=var_lst)

pp.fig.set_figheight(6)
pp.fig.set_figwidth(20)
Run Code Online (Sandbox Code Playgroud)

var_lst不是静态列表,我只是提供了一个示例。tgt_var我需要的是在 Y 轴上绘制,var_lst在 x 轴上绘制。

我可以使用上面的代码来做到这一点,但我也想仅当项目var_lst是“GH”或“MS”时才在 X 轴上使用对数刻度,对于其余的正常刻度。有什么办法可以实现这一点吗?

python matplotlib python-3.x seaborn pairplot

4
推荐指数
1
解决办法
2323
查看次数

如何更改seaborn的pairplot()函数中的bin数?

我有一个 36000 行和 51 列的数据集。每行都是一个观察值,前 50 列是每个观察值的 50 个不同特征。第 51 列的值为 0 或 1,其中 0 表示观测值属于 A 类,1 表示观测值属于 B 类。

现在假设我想制作第一列的值的直方图,将其称为“Feature1”。据我所知,matplotlib的plt.hist()无法在同一个图中绘制2个直方图,其中一个对应于A类中Feature1的特征,另一个对应于B类中的特征。另外,seaborn 的 sns.distplot 也不能​​做到这一点。所以我决定尝试seaborn的pairplot如下

sns.pairplot(df, vars = ["Feature1"], hue= "Class", diag_kind = "hist", diag_kws= dict(alpha=0.55))
Run Code Online (Sandbox Code Playgroud)

Feature1 是第一列的名称,Class 是最后一列的名称,其中包含每个观测值的类标签。显示的直方图很好,但我想增加使用的垃圾箱数量。遗憾的是我没有找到任何方法来使用这个特定的函数来做到这一点。

有人知道这个问题的解决方案吗?谢谢

python seaborn pairplot histplot

3
推荐指数
1
解决办法
5775
查看次数

标签 统计

pairplot ×4

python ×4

seaborn ×4

histplot ×1

inf ×1

matplotlib ×1

pandas ×1

python-3.x ×1

z-order ×1