- Author:
- Leyla <noroozbabaee@gmail.com>
- Date:
- 2022-05-10 14:01:08+12:00
- Desc:
- Adding Tong_2011 to PMR
- Permanent Source URI:
- https://models.cellml.org/workspace/85c/rawfile/a03f680a69226c515cd789723c8036028406852b/Experiments/Figure_9/Fig9_plt.py
# Author: Leyla Noroozbabaee
# Date: 12/12/2021
# To reproduce Figure 6 from original paper, the python file 'Fig6_sim.py' should be run.
import matplotlib.pyplot as plt
import pandas as pd
from sklearn import preprocessing
import numpy as np
# Figure name
prefilename = 'Fig9'
# Set figure dimension (width, height) in inches.
fw, fh = 15, 10
# Set subplots
subpRow, subpCol = 3,2
ax, lns = {}, {}
# This gives list with the colors from the cycle, which you can use to iterate over.
cycle = plt.rcParams [ 'axes.prop_cycle' ].by_key() [ 'color' ]
# Set subplots
lfontsize, labelfontsize = 10, 15 # legend, label fontsize
fig, axs = plt.subplots(subpRow, subpCol, figsize=(fw, fh), facecolor='w', edgecolor='k')
fig.subplots_adjust(hspace = .3, wspace=.3)
axs = axs.ravel()
# varName = np.array(["Time", "ik1", "ik2" , "iBKa","iBKab","ika","ib","v"])
# filename = '%s.csv' % (prefilename)
# print(filename)
# data = pd.read_csv(filename)
# print('filename', filename)
# data = pd.read_csv(filename)
# time = data [ varName[0] ]
# pss_data = data [varName[1]]
# kss_data = data [varName[2]]
# ptc_data = data [varName[3]]
# k1tc_data = data [varName[4]]
# k2tc_data = data [varName[5]]
# ik2_data = data [varName[6]]
# v_data = data [varName[7]]
# axs[0].plot( v_data, pow(pss_data,2), 'b', v_data, kss_data, '--b')
# axs[1].plot(v_data, ptc_data, 'b')
# axs[2].semilogy(v_data, k1tc_data/1000, 'b', v_data, k2tc_data/1000, '--b')
#axs[4].plot( v_data, ik2_data, 'b')
# Set ylable
tit = ['Steady state','Steady state','Time constant (ms)','Time constant (ms)','I (normalised)','I (normalised)']
cycle = plt.rcParams [ 'axes.prop_cycle' ].by_key() [ 'color' ]
# To add the extracted data from original paper to your plot, modify the path to have access to the
# "Extracted_data"
I_V = []
prefilename = 'Fig9'
varName = np.array([ "Time", "ik1", "ik2", "iBKa", "iBKab", "ika", "ib", "v", "I_K_tot" ])
sub =['A','B','C']
v_clamp = [ -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70 ]
v_hold = [ -80,-40 ]
for i in range(len(v_hold)):
print(sub [ i ])
for j in range(len(v_clamp)):
filename = '%s_%s_%s.csv' % (prefilename, sub [ i ], j)
print(filename)
data = pd.read_csv(filename)
time = data [ varName[0] ]
ik1_data = data [varName[1]]
ik2_data = data [varName[2]]
iBKa_data = data [varName[3]]
iBKab_data = data [varName[4]]
ika_data = data [varName[5]]
ib_data = data [varName[6]]
v_data = data [varName[7]]
I_K = data [ varName [ 8 ] ]
ik_tot = ik1_data + ik2_data + (iBKa_data) + (iBKab_data) + ib_data + ika_data
# axs [ 0 ].plot(time, ik1_data, '-r')#, color=cycle [ j % 8 ])
# axs [ 1 ].plot( time, ik2_data, 'b.')#, color=cycle [ j % 8 ])
# axs [ 2 ].plot(time, 0.7*iBKa_data+0.3*iBKab_data, 'k')
# axs [ 3 ].plot(time, iBKab_data, 'g')#, color=cycle [ j % 8 ])
axs [ i ].plot(time, I_K , color=cycle [ j % 8 ])
#axs [ i+1 ].plot(time, ika_data, 'y')
plt.show()
# v_clamp =[50, 40, 30, 25, 20, 10, 0,-10,-20,-30,-40,-50,-60, -70,-80]
# print(I_V)
# axs[5].plot(V, I_V, '-b')# y_data = data [ var [ i ]
prefilename = 'Fig9'
# for i in range(6):
# filename = '%s_%s.csv' % (prefilename, i+1)
# data = pd.read_csv(filename)
# data = pd.read_csv(filename)
# y_d = data [ 'Curve1' ]
# x_d = data [ 'x' ]
# axs [ i ].plot(x_d, y_d, 'k*')
# # axs [ i ].set_xlim([ -90, 60 ])
# axs [ i ].set_xlabel('V (mV)', fontsize=labelfontsize)
# axs [ i ].set_ylabel('%s' % (tit [ i ]), fontsize=labelfontsize)
# if i == 0 or i == 3:
# y_d_2 = data [ 'Curve2' ]
# axs [ 0 ].plot(x_d, y_d_2, 'k*')
# #axs [ 3 ].plot(x_d, y_d_2, 'k*')
# elif i == 1:
# # y_d_2 = data [ 'Curve1' ]
# axs [ 1 ].semilogy(x_d, y_d, 'k*')
# elif i == 2:
# y_d_2 = data [ 'Curve2' ]
# axs [ i ].semilogy(x_d, y_d, 'k*', x_d, y_d_2, 'k*')
#
# elif i == 4 or i == 5 :
# y_d_2 = data [ 'Curve2' ]
# y_d_3 = data [ 'Curve3' ]
# y_d_4 = data [ 'Curve4' ]
# y_d_5 = data [ 'Curve5' ]
# axs [ 4 ].plot(x_d, y_d_2, '*', x_d, y_d_3, '*', x_d, y_d_4, '*', x_d, y_d_5, '*', color=cycle [ i % 4 ])
# axs [ 5 ].plot(x_d, y_d_2, '*', x_d, y_d_3, '*', x_d, y_d_4, '*', x_d, y_d_5, '*', color=cycle [ i % 4 ])
# # axs [ i ].set_xlim([ 0, 50 ])
# axs [ i ].set_xlabel('Time (ms)', fontsize=labelfontsize)
# # axs [ i ].set_ylim([ -1, 0 ])
#
# axs [i].set_xlabel('V (mV)', fontsize=labelfontsize)
# axs [i].set_ylabel('%s' % (tit[i]),fontsize=labelfontsize)
#
##axs[1].semilogy( v_data, htc_data, 'b', v_data, mtc_data, 'r')