首页 > 解决方案 > 可视化数据,跟踪特定 SD 值

问题描述

BLUF:我想通过对它进行颜色编码并制作单独的 KDF 或其他概率密度图来跟踪特定的 Std Dev,例如 1.0 到 1.25。

我想要做的是能够挑选出其他 Std Dev 范围并取回新的图表,我可以转身并使用它来预测特定 Std Dev 的结果。

数据:https ://www.dropbox.com/s/y78pynq9onyw9iu/Data.csv?dl=0

到目前为止,我所拥有的是看起来像霰弹枪爆炸的标准化数据:

在此处输入图像描述

用于生成它的代码:

data = pd.read_csv("Data.csv")
sns.jointplot(data.x,data.y, space=0.2, size=10, ratio=2, kind="reg");

我想在这里实现的看起来像我在下面标记的:

在此处输入图像描述

我有点知道如何在 RStudio 中使用 RidgePlot 类型的函数来做到这一点,但我在 Python 中不知所措,即使在使用 Seaborn 时也是如此。任何/所有帮助表示赞赏!

标签: data-visualizationseabornstandard-deviationkernel-density

解决方案


以下代码可能会直接指向您的右侧,您可以从那里随意调整绘图的外观。

tips = sns.load_dataset("tips")
g = sns.jointplot(x="total_bill", y="tip", data=tips)

top_lim = 4
bottom_lim = 2
temp = tips.loc[(tips.tip>=bottom_lim)&(tips.tip<top_lim)]
g.ax_joint.axhline(top_lim, c='k', lw=2)
g.ax_joint.axhline(bottom_lim, c='k', lw=2)

# we have to create a secondary y-axis to the joint-plot, otherwise the
# kde might be very small compared to the scale of the original y-axis
ax_joint_2 = g.ax_joint.twinx()
sns.kdeplot(temp.total_bill, shade=True, color='red', ax=ax_joint_2, legend=False)
ax_joint_2.spines['right'].set_visible(False)
ax_joint_2.spines['top'].set_visible(False)
ax_joint_2.yaxis.set_visible(False)

在此处输入图像描述


推荐阅读