From a98b8b0d70db6bebbe416a30f157e8d229a8c9c8 Mon Sep 17 00:00:00 2001 From: Dan White Date: Fri, 20 Feb 2015 14:56:09 -0600 Subject: [PATCH] TCAS fig, cleanup for clarity --- .../test-data/chip01/chip01-channels.pdf | Bin 196272 -> 196251 bytes .../test-data/chip02/chip02-channels.pdf | Bin 196332 -> 196311 bytes python-lib/test-data/chip02/stats.py | 34 +++++++++++++----- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/python-lib/test-data/chip01/chip01-channels.pdf b/python-lib/test-data/chip01/chip01-channels.pdf index aec246cc036d3b3d8afab0ade028d9dbb08948cf..d7c58f3ba469d058ba62f8b11493e8ff883b56f9 100644 GIT binary patch delta 15995 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 BnGgT~ delta 16199 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 AQvd(} diff --git a/python-lib/test-data/chip02/chip02-channels.pdf b/python-lib/test-data/chip02/chip02-channels.pdf index e82a3ccd89358484b49280af939f2bd6f6955a10..29fb9220c83f48c308dbd407d25556ce696ba8c4 100644 GIT binary patch delta 16374 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 delta 16430 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 diff --git a/python-lib/test-data/chip02/stats.py b/python-lib/test-data/chip02/stats.py index 0e7ab7e..dfd70eb 100644 --- a/python-lib/test-data/chip02/stats.py +++ b/python-lib/test-data/chip02/stats.py @@ -109,7 +109,7 @@ if 0: interactive(False) -if 1: +if 0: figure(figsize=(5.0, 3.5)) subplots_adjust(top=0.93, bottom=0.12, left=0.10, right=0.98) data = cv.flatten() @@ -166,24 +166,42 @@ if 1: print 'good channels:', c figure(figsize=(3.5, 2.0)) - subplots_adjust(top=0.98, bottom=0.18, left=0.16, right=0.98) + subplots_adjust(top=0.98, bottom=0.18, left=0.13, right=0.99) #x = range(len(means)) - errorbar(good_x, good_means, yerr=good_stdds, fmt='.', label='Good') - errorbar(bad_x, bad_means, yerr=bad_stdds, fmt='x', label='Bad') + errorbar(good_x, good_means, + yerr=good_stdds, + label='Good', + fmt='.', + markersize=4, + linewidth=0.4, + capsize=1, + ) + errorbar(bad_x, bad_means, + yerr=bad_stdds, + label='Bad', + fmt='x', + markersize=4, + linewidth=0.4, + capsize=1, + ) #hlines([-10, 10], 0, 96, linewidth=1.0, color='g') hlines([0], 0, 96, linewidth=0.4, color='black') xlim((0, 96)) - xticks(range(0, 97, 16)) + xticks(range(0, 90, 16)) + xlabel('Channel index') - yticks(range(-200, 60, 50), fontsize='small') + yticks(range(-200, 60, 50), + fontsize='small', + position=(0.01,0),) ylim((-200, 80)) + ax = gca() + ax.yaxis.set_label_coords(-0.100, 0.5) + ylabel(r'$V_{oos}$, $\bar x$, $\sigma$ (mV)') legend(loc='lower left', frameon=False, fontsize='small') - xlabel('Channel index') - ylabel(r'$V_{oos}$, $\bar x$, $\sigma$ (mV)') #title('%i acceptable channels' % c) text(48, -100, '%i acceptable\nchannels' % c, horizontalalignment='center', -- 2.25.1