- Author:
- nima <nafs080@aucklanduni.ac.nz>
- Date:
- 2021-06-19 09:23:55+12:00
- Desc:
- 1 script instead of 2
- Permanent Source URI:
- https://staging.physiomeproject.org/workspace/648/rawfile/7cb8a9d44ad7e22d7ee5ee37d836a6f97e05758f/Figure6-plot.py
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import matplotlib.patches as patches
from matplotlib.patches import Rectangle
# read the csv file extracted from sedml file
data = pd.read_csv('Figure6.csv')
# define the x and y axis and match the units
X1 = data[data.keys()[4]] * 1000
Y1 = data[data.keys()[2]]
Y2 = data[data.keys()[0]]
Y3 = data[data.keys()[3]]
Y4 = data[data.keys()[1]]
Y5 = data[data.keys()[7]] * 1e6
Y6 = data[data.keys()[5]] * 1e6
Y7 = data[data.keys()[8]] * 1e6
Y8 = data[data.keys()[6]] * 1e6
Y9 = data[data.keys()[11]] * 1000 / 57
Y10 = data[data.keys()[9]] * 1000 / 57
Y11 = data[data.keys()[12]] * 1000 / 57
Y12 = data[data.keys()[10]] * 1000 / 57
plt.figure(figsize=(16, 14))
plt.subplot(2, 2, 1)
plt.plot(X1, Y1, 'navy', linestyle='-', label='CTRL', linewidth=3)
plt.plot(X1, Y2, 'red', linestyle='-', label='Block 50%', linewidth=3)
plt.plot(X1, Y3, 'green', linestyle='-', label='Block 75%', linewidth=3)
plt.plot(X1, Y4, 'purple', linestyle='-', label='Block 90%', linewidth=3)
plt.gca().add_patch(Rectangle((440, -65), 695, 30, linewidth=2, edgecolor='black', linestyle='--', facecolor='none'))
plt.grid()
plt.xlim(0, 1800)
plt.ylim(-70, 30)
plt.xticks(np.arange(0, 1800, 500))
plt.tick_params(axis='both', labelsize=14)
plt.ylabel('V$_m$ (mV)', fontsize=16)
plt.title('A', loc='left', y=1.05, x=-0.06, fontsize='20')
plt.subplot(2, 2, 2)
plt.plot(X1, Y1, 'navy', linestyle='-', label='CTRL', linewidth=3)
plt.plot(X1, Y2, 'red', linestyle='-', label='Block 50%', linewidth=3)
plt.plot(X1, Y3, 'green', linestyle='-', label='Block 75%', linewidth=3)
plt.plot(X1, Y4, 'purple', linestyle='-', label='Block 90%', linewidth=3)
plt.grid()
plt.xlim(445, 1120)
plt.ylim(-63, -35)
plt.tick_params(axis='both', labelsize=14)
plt.ylabel('V$_m$ (mV)', fontsize=16)
plt.title('B', loc='left', y=1.05, x=-0.06, fontsize='20')
plt.subplot(2, 2, 3)
plt.plot(X1, Y5, 'navy', linestyle='-', label='CTRL', linewidth=3)
plt.plot(X1, Y6, 'red', linestyle='-', label='Block 50%', linewidth=3)
plt.plot(X1, Y7, 'green', linestyle='-', label='Block 75%', linewidth=3)
plt.plot(X1, Y8, 'purple', linestyle='-', label='Block 90%', linewidth=3)
plt.grid()
plt.xlim(0, 1800)
plt.xticks(np.arange(0, 1800, 500))
plt.ylim(50, 450)
plt.xlabel('Time (ms)', fontsize=16)
plt.tick_params(axis='both', labelsize=14)
plt.ylabel('[Ca$^{2+}]_i$ (nM)', fontsize=16)
plt.title('C', loc='left', y=1.05, x=-0.06, fontsize='20')
plt.subplot(2, 2, 4)
plt.plot(X1, Y9, 'navy', linestyle='-', label='CTRL', linewidth=3)
plt.plot(X1, Y10, 'red', linestyle='-', label='Block 50%', linewidth=3)
plt.plot(X1, Y11, 'green', linestyle='-', label='Block 75%', linewidth=3)
plt.plot(X1, Y12, 'purple', linestyle='-', label='Block 90%', linewidth=3)
plt.grid()
plt.xlim(445, 1130)
plt.ylim(-0.16, 0.05)
plt.yticks(np.arange(-0.15, 0.01, 0.05))
plt.xlabel('Time (ms)', fontsize=16)
plt.tick_params(axis='both', labelsize=14)
plt.ylabel('I$_{NaCa}$ (pA/pF)', fontsize=16)
plt.title('D', loc='left', y=1.05, x=-0.06, fontsize='20')
plt.legend(bbox_to_anchor=(0., 0.85, 1, 0.1), loc='best', fontsize=14,
ncol=10, mode="expand")
plt.tight_layout(pad=0.5, w_pad=3.5, h_pad=3)
plt.savefig('Figure6.png')
plt.show()