From 8229291655737f7547dd16b97831b26259b52b2e Mon Sep 17 00:00:00 2001 From: nkoch1 Date: Thu, 19 May 2022 10:04:55 -0400 Subject: [PATCH] modified firing characterization plot --- Figures/firing_characterization-jb.py | 29 ++++++++++++++------------ Figures/firing_characterization.pdf | Bin 22192 -> 22188 bytes 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Figures/firing_characterization-jb.py b/Figures/firing_characterization-jb.py index 62b0c11..69ded51 100644 --- a/Figures/firing_characterization-jb.py +++ b/Figures/firing_characterization-jb.py @@ -200,10 +200,10 @@ def plot_sqrt(ax, a=1, b=0.2, c=100, d=0): def plot_AUC(ax, a=1, b=0.2, c=180, d=0, width=0.2): x = np.linspace(0, 1, 1000) y = c*np.sqrt(a*(x - b)) + d - ax.plot(x, y, colorslist[2]) + ax.plot(x, y, colorslist[9]) ax.set_xlabel('Current [nA]') ax.set_ylabel('Frequency [Hz]') - ax.fill_between(x, y, where=(x<=b+width), color=lighter(colorslist[2], 0.3)) + ax.fill_between(x, y, where=(x<=b+width), color=lighter(colorslist[9], 0.3)) ax.text(0.3, 15, 'AUC', ha='center') ax.annotate('', (0.2, 10), (0, 10), arrowprops=dict(arrowstyle="<->")) ax.text(0.1, 20, 'rheobase', ha='center') @@ -226,19 +226,19 @@ def plot_diff_sqrt(ax, a=1, b=0.2, c=100, d=0, a2=1, b2=0.2, c2=100, d2=0): def plot_quadrant(ax): ax.spines['left'].set_position('zero') ax.spines['bottom'].set_position('zero') - ax.text(1.15, -0.15, '$\\Delta$ rheobase', ha='right') - ax.text(-0.05, 0.9, '$\\Delta$ AUC', ha='right') + ax.text(1.2, 0.05, '$\\Delta$ rheobase', ha='right') + ax.text(-0.05, 0.75, '$\\Delta$ AUC', ha='right', rotation=90) ax.tick_params(length=0) ax.set_xlim(-1, 1) ax.set_ylim(-1, 1) ax.annotate('', (1, 0), (-1, 0), arrowprops=dict(arrowstyle="->")) ax.annotate('', (0, 1), (0, -1), arrowprops=dict(arrowstyle="->")) - ax.set_xticks([-0.4, 0.4]) + ax.set_xticks([-0.5, 0.5]) a = ax.get_xticks().tolist() a[0] = '\u2212' a[1] = '+' ax.set_xticklabels(a) - ax.set_yticks([-0.4, 0.4]) + ax.set_yticks([-0.5, 0.5]) b = ax.get_xticks().tolist() b[0] = '\u2212' b[1] = '+' @@ -252,18 +252,20 @@ def plot_quadrant(ax): scheme_style() fig = plt.figure(figsize=cm2inch(7, 12)) -gs = gridspec.GridSpec(3,2, top=0.95, bottom=0.1, left=0.15, right = 0.95, hspace=0.8, wspace=0.6) -ax1 = fig.add_subplot(gs[0,:]) +gs = gridspec.GridSpec(3,6, top=0.95, bottom=0.1, left=0.15, right = 0.95, hspace=0.8, wspace=0.6) +ax1 = fig.add_subplot(gs[0,1:]) show_spines(ax1, 'lb') plot_AUC(ax1, width=0.2) ax3 = fig.add_subplot(gs[1:, :]) # add panel letter labels -ax_list = fig.axes -i =0 -for a in ax_list: - a.text(-0.25, 1.08, string.ascii_uppercase[i], transform=a.transAxes,size=16, weight='bold') - i += 1 +# ax_list = fig.axes +# i =0 +# for a in ax_list: +# a.text(-0.25, 1.08, string.ascii_uppercase[i], transform=a.transAxes,size=16, weight='bold') +# i += 1 +ax1.text(-0.25, 1.2, string.ascii_uppercase[0], transform=ax1.transAxes, size=16, weight='bold') +ax3.text(-0.02, 1.05, string.ascii_uppercase[1], transform=ax3.transAxes, size=16, weight='bold') show_spines(ax3, '') ax3.set_ylabel('$\Delta$ AUC') @@ -299,3 +301,4 @@ plot_diff_sqrt(ax3_BR, b2=0.4, c2=75) ax3_BR.set_ylim(inset_ylim) fig.set_size_inches(cm2inch(8.17,12)) fig.savefig('./Figures/firing_characterization.pdf', dpi=fig.dpi) #bbox_inches='tight', dpi=fig.dpi +plt.show() \ No newline at end of file diff --git a/Figures/firing_characterization.pdf b/Figures/firing_characterization.pdf index 439603815e50c931a9bf94d9056a94cea3d1d574..cc032d89546f16c4999ffdcef45a619b99381621 100644 GIT binary patch delta 7846 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