Пересечение участка между сеткой оси Y и Kdeplot на побережье - PullRequest
0 голосов
/ 25 октября 2018

Я создал следующий сюжет, используя 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))

Тем не менее, я хотел бы показать линии сетки на оси x только в точках, где линии сетки оси Y пересекают график.Есть способ сделать это?

Спасибо за ваши ответы

1 Ответ

0 голосов
/ 25 октября 2018

Пока ваша характеристика является монотонной, которую следует задавать с помощью совокупного набора данных, вы можете просто использовать интерполяцию по значениям 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())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...