from pylab import * import scipy.io import pickle from os.path import exists from matplotlib.collections import PatchCollection def discontlog(ax,x,y,width=18,height=1.05,col='#000000'): ax.plot([x-width/2,x+width/2],[y/sqrt(height),y*sqrt(height)],'k-',lw=2.3,clip_on=False,color=col) ax.plot([x-width,x+width],[y/height,y*height],'w-',lw=1.0,clip_on=False,zorder=100) def discontlogopp(ax,x,y,width=18,height=1.05,col='#000000'): ax.plot([x-width/2,x+width/2],[y*sqrt(height),y/sqrt(height)],'k-',lw=2.3,clip_on=False,color=col) ax.plot([x-width,x+width],[y*height,y/height],'w-',lw=1.0,clip_on=False,zorder=100) f,axs = subplots(3,3) axarr = sum([axs[i].tolist() for i in range(0,len(axs))]+[[]]) for iax in range(0,3): for iay in range(0,3): axs[iay,iax].set_position([0.07+0.32*iax,0.07+0.32*(2-iay),0.26,0.21]) for tick in axs[iay,iax].xaxis.get_major_ticks() + axs[iay,iax].yaxis.get_major_ticks(): tick.label.set_fontsize(3.5) axs[iay,iax].spines['top'].set_visible(False) axs[iay,iax].spines['right'].set_visible(False) axs[iay,iax].get_xaxis().tick_bottom() axs[iay,iax].get_yaxis().tick_left() axs[iay,iax].set_xlim([0,1000]) axs[iay,iax].set_ylim([2,110]) if iax == 0: axs[iay,iax].set_ylabel('$I$ (nA)',fontsize=6) if iay == 2: axs[iay,iax].set_xlabel('distance ($\mu$m)',fontsize=6) Is1 = [1.0, 3.0, 5.0, 7.0, 10.0, 15.0, 20.0, 30.0, 100.0] Is = [1.0, 3.0, 5.0, 7.0, 10.0, 15.0, 20.0, 30.0, 100.0] #dists = [50.0, 100.0, 150.0, 200.0, 250.0, 300.0, 350.0, 400.0, 450.0, 500.0, 550.0, 600.0, 650.0, 700.0, 750.0, 800.0, 850.0, 900.0, 950.0, 1000.0] dists = [100.0, 200.0, 300.0, 400.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0, 1100.0] Ihcoeffs = [0.0,1.0] styles = ['bx-','kx-'] additionalblockeds = ['gCa_LVAstbar_Ca_LVAst','gCa_HVAbar_Ca_HVA','gImbar_Im','gK_Pstbar_K_Pst','gK_Tstbar_K_Tst','gNap_Et2bar_Nap_Et2','gSK_E2bar_SK_E2','gSKv3_1bar_SKv3_1','gNaTa_tbar_NaTa_t'] additionalblockedtitles = ['LVA Ca$^{2+}$ channel','HVA Ca$^{2+}$ channel','M-type K$^{+}$ channel','Persistent K$^{+}$ channel','Transient K$^{+}$ channel','Persistent Na$^{+}$ channel','SK channel','Kv3.1 K$^{+}$ channel','Fast Na$^{+}$ channel'] for iblocked in range(0,len(additionalblockeds)): #Hay Thresholds, normal Ithreshs_all = [] for iIhcoeff in range(0,len(Ihcoeffs)): Ihcoeff = Ihcoeffs[iIhcoeff] Ithreshs = [] dists_saved = [] for idist in range(0,len(dists)): dist = dists[idist] filename = '../modulhcn_hay/strongdendthresh'+str(dist)+'_'+additionalblockeds[iblocked]+'_Ihcoeff'+str(Ihcoeff)+'_absbound.sav' if not exists(filename): print(filename+" does not exist") continue unpicklefile = open(filename,'rb');unpickledlist = pickle.load(unpicklefile);unpicklefile.close() print(filename+" loaded") Ithreshs.append(unpickledlist[0][-1]) dists_saved.append(dist) Ithreshs_all.append(Ithreshs[:]) axarr[iblocked].semilogy(dists_saved, Ithreshs, styles[iIhcoeff],lw=0.5,mew=0.5,ms=2.0) axarr[iblocked].set_title(additionalblockedtitles[iblocked],fontsize=6) discontlogopp(axarr[8],150,85,width=18,height=1.05,col='#000000') discontlog(axarr[8],0,85,width=18,height=1.05,col='#000000') f.savefig("figS2.eps")