Как нарисовать несколько линейных графиков с помощью Matplotlib в Python

Я хочу создать график EKG Full 12 Leads с использованием matplotlib в Python 2.7, поэтому я уже записал некоторый код для представления каждого отведения (используя подзаговор), но у него есть проблема с отрисовкой сетки на подграфе. Затем я пытаюсь найти новое решение, чтобы использовать все 12 отведений в одном графике, как показано на рисунке ниже.

введите описание изображения здесь

У меня есть список данных, как это....

x = [1,2,3,4,5,....]
lead1 = [-39,-34,-36,-38,.... ]
lead2 = [-40,-44,-86,-28,.... ]
.
.
lead12 = [-30,-27,-80,-69,.... ]

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

Большое спасибо.

1 ответ

Вот простой пример, где все линии изображены на одной оси, но смещены на 3 единицы в направлении y.

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(1)

s=3
x = np.linspace(0,10,2000)
a = np.sin(np.cumsum((np.random.normal(scale=0.1, size=(len(x), 12))), axis=0))

fig, ax = plt.subplots()
for i in range(a.shape[1]):
    ax.plot(x, a[:,i]+s*i)

labels = ["PG{}".format(i) for i in range(a.shape[1])]
ax.set_yticks(np.arange(0,a.shape[1])*s)
ax.set_yticklabels(labels)
for t, l in zip(ax.get_yticklabels(), ax.lines):
    t.set_color(l.get_color())

plt.show()

Другие вопросы по тегам