Визуализируйте расстояние до ожидаемого значения на графике рассеяния в Сиборне - PullRequest
0 голосов
/ 15 декабря 2018

Я хочу создать точечный график (для дискретного x и только одну точку на x), и для каждой точки я хочу визуализировать расстояние до ожидаемого значения с помощью линии, предпочтительно в Seaborn.

В принципе, я хочу что-то вроде этого (взято из этого поста ), но я хочу, чтобы панели ошибок двигались только в одном направлении, а не вверх и вниз.Строка строки ошибки должна заканчиваться там, где мое ожидаемое значение.

Редактировать: пример.

Какой-то код:

import matplotlib.pyplot as plt

some_y=[1,2,3,7,9,10]
expected_y=[2, 2.5, 2, 5, 8.5, 9.5]

plt.plot(some_y, ".", color="blue")
plt.plot(expected_y, ".", color="red")
plt.show()

Похоже на это

Что бы я хотел сделать

Кроме того, он не должен выглядеть точно , как это.Просто что-то в этом направлении.

1 Ответ

0 голосов
/ 15 декабря 2018

Самый эффективный способ создать несколько строк - это использовать LineCollection.Чтобы также показать точки, вы должны использовать дополнительные scatter.

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection

some_y=[1,2,3,7,9,10]
expected_y=[2, 2.5, 2, 5, 8.5, 9.5]

x = np.repeat(np.arange(len(some_y)), 2).reshape(len(some_y), 2)
y = np.column_stack((some_y, expected_y))
verts = np.stack((x,y), axis=2)

fig, ax = plt.subplots()
ax.add_collection(LineCollection(verts))
ax.scatter(np.arange(len(some_y)), some_y)

plt.show()

enter image description here

...