Как нарисовать несколько линейных графиков с помощью 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()