python - 在seaborn上绘制y轴网格和kdeplot之间的交集

标签 python matplotlib seaborn

我使用seaborn kdeplot 并自定义网格线创建了以下绘图。 enter image description here

sns.set_style('whitegrid')
cdf_accuracy = sns.kdeplot(eval_df['accuracy'], cumulative=True)
cdf_accuracy.yaxis.set_major_locator(ticker.MultipleLocator(0.25))
cdf_accuracy.xaxis.set_major_locator(ticker.MultipleLocator(10))

但是,我想在 y 轴网格线与绘图相交的点上显示 x 轴上的网格线。有办法做到这一点吗?

感谢您的回答

最佳答案

只要您的特征是单调的(应使用累积数据集给出),您就可以简单地对 y 值使用插值:

import numpy as np

y_intrsct = [.25, .5, .75]
x_intrsct = np.interp(y_intrsct, y_data, x_data)

结果

array([67.69792378, 83.24194722, 92.24041857])

enter image description here

使用以下代码绘制:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(x_data, y_data)
ax.set_yticks(np.linspace(0, 1, 5))
ax.grid(axis='y')
ax.vlines(x_intrsct, *ax.get_ylim())

关于python - 在seaborn上绘制y轴网格和kdeplot之间的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52985943/

相关文章:

python - Opencv 级联分类而不是检测

Python:选择最常用的分组依据

python - 如何对 pandas 中的字符串中的数字进行排序?

python - 为什么 Python/Django 不会在 Mysql : ERROR 1205 (HY000): Lock wait timeout exceeded 上引发异常

python - 如何确定 matplotlib 轴对象的投影(2D 或 3D)?

python - 日期列和整数列之间的 Seaborn 热图

python - matplotlib 从 pandas 数据框中散布颜色

python - 如何绘制 networkx 图的节点子集

python - 如何使用 seaborn 在 x 轴上绘制 int 到 datetime?

python - 如何更改 Seaborn 中 regplot 的绘图大小?