我正在尝试绘制机器学习模型预测的输出,目标变量有1和0两个类别,还有得分。由于数据集不平衡,1的数量很少。
当我使用hue参数将Target绘制在简单的displot中时,该图对描述1无用。
我尝试了以下代码,可以在两个图中解决问题,但是我只需要一个图。我无法使用twinx。
当我使用hue参数将Target绘制在简单的displot中时,该图对描述1无用。
sns.set_theme()
sns.set_palette(sns.color_palette('rocket', 3))
sns.displot(df, x='Score', hue='Target', bins=30, linewidth=0, height=5, kde=True, aspect=1.6)
plt.show()
我希望在同一张图中更改1的比例尺,使用twinx在右侧添加第二个y比例尺。我尝试了以下代码,可以在两个图中解决问题,但是我只需要一个图。我无法使用twinx。
g = sns.displot(df, x='Score', col='Target', bins=30, linewidth=0, height=5, kde=True, aspect=1.6, facet_kws={'sharey': False, 'sharex': False})
g.axes[0,1].set_ylim(0,400)
plt.show()
g = sns.FacetGrid(df, hue='Target')
g = g.map(sns.displot, 'Score', bins=30, linewidth=0, height=3, kde=True, aspect=1.6)
一个可重现的例子可以使用泰坦尼克号数据集:
df_ = sns.load_dataset('titanic')
sns.displot(df_, x='fare', hue='survived', bins=30, linewidth=0, height=5, kde=True, aspect=1.6)
g = sns.displot(df_, x='fare', col='survived', bins=30, linewidth=0, height=5, kde=True, aspect=1.6, facet_kws={'sharey': False, 'sharex': False})
g.axes[0,1].set_ylim(0,150)
plt.show()
common_norm=False
选项吗? - JohanC