gpt4 book ai didi

python - Seaborn pairplot 仅针对特定列具有对数刻度

转载 作者:行者123 更新时间:2023-12-02 01:39:31 24 4
gpt4 key购买 nike

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

代码如下,

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)

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

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

最佳答案

如果 xlabel 匹配“GH”或“MS”,则迭代 pp.axes.flat 并设置 xscale="log":

log_columns = ["GH", "MS"]

for ax in pp.axes.flat:
if ax.get_xlabel() in log_columns:
ax.set(xscale="log")

鸢尾花数据集的完整示例,其中花瓣列为 xscale="log":

import seaborn as sns

df = sns.load_dataset("iris")
pp = sns.pairplot(df)

log_columns = ["petal_length", "petal_width"]

for ax in pp.axes.flat:
if ax.get_xlabel() in log_columns:
ax.set(xscale="log")

iris pairplot where petal columns have log x-scale

关于python - Seaborn pairplot 仅针对特定列具有对数刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71842013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com