Я пытаюсь построить Блэнд-Альтман график.
import matplotlib.pyplot as plt
import numpy as np
def bland_altman_plot(data1, data2, *args, **kwargs):
data1 = np.asarray(data1)
data2 = np.asarray(data2)
mean = np.mean([data1, data2], axis=0)
diff = data1 - data2 # Difference between data1 and data2
md = np.mean(diff) # Mean of the difference
sd = np.std(diff, axis=0) # Standard deviation of the difference
plt.scatter(mean, diff, *args, **kwargs)
plt.axhline(md, color='gray', linestyle='--')
plt.axhline(md + 1.96*sd, color='gray', linestyle='--')
plt.axhline(md - 1.96*sd, color='gray', linestyle='--')
from numpy.random import random
bland_altman_plot(random(10), random(10))
plt.title('Bland-Altman Plot')
plt.show()
Приведенный выше код дает следующий результат:

Я пытаюсь построить границу доверительного интервала так же, как на следующем графике. Допустим, координаты доверительного интервала для верхней строки:
Слева (0,3, 0,5), (0,3, 0,4) и Справа (0,9, 0,5), (0,9, 0,4)
Для нижней строки:
Слева (0,3, 0,7), (0,3, 0,5) и Справа (0,9, 0,7), (0,9, 0,5)

Но я не знаю, как я могу изобразить это так в matplotlib . Было бы здорово, если бы кто-то мог помочь мне с этим.