相关疑难解决方法(0)

在特定位置绘制一条水平线/注释Seaborn中的Facetgrid

A通过以下方式在Seaborn中制作了Facetgrid的箱线图

# Import the dataset
tips = sns.load_dataset("tips")

# Plot using Facegrid, separated by smoke
plt.style.use('ggplot')
g = sns.FacetGrid(tips, col="smoker", size=5, aspect=1.5)
g.map(sns.boxplot, "sex", "total_bill", palette='viridis', order=['Male', 'Female'])
plt.show()
Run Code Online (Sandbox Code Playgroud)

我现在想在每个图中绘制不同的水平线。例如,一条水平线(坐标为(0,10))在左侧图中,而另一条水平线(坐标为(0,30))在右侧图中。

我该怎么做呢?

python seaborn facet-grid

7
推荐指数
3
解决办法
9339
查看次数

如何向seaborn FacetGrid添加额外的绘图并指定颜色

有没有办法创建一个 Seaborn 线图,所有线均为灰色,平均值为红线?我正在尝试执行此操作,relplot但我不知道如何将平均值与数据分开(并且似乎未绘制平均值?)。

制作可重复的数据框

np.random.seed(1)
n1 = 100
n2 = 10
idx = np.arange(0,n1*2)
x, y, cat, id2 = [], [], [], []

x1 = list(np.random.uniform(-10,10,n2))
for i in idx: 
    x.extend(x1)
    y.extend(list(np.random.normal(loc=0, scale=0.5, size=n2)))
    cat.extend(['A', 'B'][i > n1])
    id2.append(idx[i])

id2 = id2 * n2
id2.sort()
df1 = pd.DataFrame(list(zip(id2, x, y, cat)), 
                  columns =['id2', 'x', 'y', 'cat']
                 )
Run Code Online (Sandbox Code Playgroud)

绘图尝试

g = sns.relplot(
    data=df1, x='x', y='y', hue='id2',
    col='cat', kind='line',
    palette='Greys',
    facet_kws=dict(sharey=False, 
                   sharex=False
                  ),
    legend=False
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python linear-regression seaborn facet-grid relplot

6
推荐指数
1
解决办法
3478
查看次数

标签 统计

facet-grid ×2

python ×2

seaborn ×2

linear-regression ×1

relplot ×1