Location: Computational analysis of the human sinus node action potential @ 506de3694dd9 / Fig05-plot.py

Author:
nima <nafs080@aucklanduni.ac.nz>
Date:
2021-03-26 09:25:46+13:00
Desc:
figure 06 and 07 are updated
Permanent Source URI:
https://staging.physiomeproject.org/workspace/648/rawfile/506de3694dd9b28f81a1199be8c55d57648493b7/Fig05-plot.py

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import sys
import os

data = pd.read_csv('Fig05.csv')
data = data.loc[:, ~data.columns.str.contains('^Unnamed')]
data = data.drop(columns=["time"])
# print(data.T.iloc[3])
# print((data.T.iloc[3][700:1000].min())-(data.T.iloc[3][200:700].min()))
# print(data.index[data.T.iloc[3]==data.T.iloc[3][700:1500].min()].values[-1] - data.index[data.T.iloc[3]==data.T.iloc[3][200:700].min()].values[-1])

cl = []
for i in range (0,7):
       cl.append(data.index[data.T.iloc[i] == data.T.iloc[i][700:1500].min()].values[-1] -
             data.index[data.T.iloc[i] == data.T.iloc[i][200:700].min()].values[-1])
print(cl)

y_shift = [-15,-10,-5,0,5,10,15]

plt.figure(figsize=(14,14))
plt.subplot(2,2,1)
plt.plot(y_shift,cl,'navy',linestyle='',marker = 'D', markersize = '14',  label = '', linewidth= 3)

plt.grid()
# plt.xlim(0, 1900)
plt.ylim(400,1200)
plt.xlabel ('y$_{infinity}$',fontsize=16)
plt.tick_params(axis='both', labelsize=14)
plt.ylabel ('CL(ms)', fontsize=16)
plt.title('A')
# plt.legend(loc='best',fontsize=16,
#        ncol=5, mode="expand", borderaxespad=0.)


DDR = []
for i in range(0,7):
        A = data.T.iloc[i][200:700].min()
        end = (data.index[data.T.iloc[i] == data.T.iloc[i][200:700].min()][-1]+100)
        B = data.T.iloc[i][end]
        DDR.append((B-A)*10)
print(DDR)

plt.subplot(2,2,2)
plt.plot(y_shift,DDR, 'navy', linestyle='',marker= 'D', markersize='14', label= '', linewidth= 3)

plt.grid()
plt.ylim(20,80)
plt.xlabel('y$_{infinity}$', fontsize='16')
plt.ylabel('DDR$_{100}$ (mV/s', fontsize='16')
plt.tick_params(axis='both', labelsize=14)
plt.title('B', fontsize='16')


MDP=[]
for i in range(0,7):
    A = data.T.iloc[i].min()
    MDP.append(A)
print(MDP)

plt.subplot(2,2,3)
plt.plot(y_shift,MDP,'navy', linestyle='',marker='D',markersize='14', label='')

plt.grid()
plt.ylim(-65,-50)
plt.xlabel('y$_{infinity}$', fontsize='16')
plt.ylabel('MDP (mV)', fontsize='16')
plt.tick_params(axis='both', labelsize=14)
plt.title('C', fontsize='16')

APD=[]
for i in range(0,7):
    C = data.index[data.T.iloc[i] == data.T.iloc[i][700:1500].max()].values[-1]
    D = data.index[data.T.iloc[i] == data.T.iloc[i][700:1500].min()].values[-1]
    E = ((D-C)*0.9)
    APD.append(E)
print(APD)

plt.subplot(2,2,4)
plt.plot(y_shift,APD,'navy', linestyle='',marker='D',markersize='14', label='')

plt.grid()
plt.ylim(120,170)
plt.xlabel('y$_{infinity}$', fontsize='16')
plt.ylabel('APD$_{90}$ (ms)', fontsize='16')
plt.tick_params(axis='both', labelsize=14)
plt.title('D', fontsize='16')

plt.tight_layout(pad=0.4, w_pad=0.5, h_pad=1.0)
plt.savefig('C:/Nima/ABI/Physiome Journal/sinus/Python_codes/figure05.png')
plt.show()