.. _pylab_examples-mri_with_eeg: pylab_examples example code: mri_with_eeg.py ============================================ .. plot:: /home/tcaswell/source/my_source/matplotlib/doc/mpl_examples/pylab_examples/mri_with_eeg.py :: #!/usr/bin/env python """ This now uses the imshow command instead of pcolor which *is much faster* """ from __future__ import division, print_function import numpy as np from matplotlib.pyplot import * from matplotlib.collections import LineCollection import matplotlib.cbook as cbook # I use if 1 to break up the different regions of code visually if 1: # load the data # data are 256x256 16 bit integers dfile = cbook.get_sample_data('s1045.ima.gz') im = np.fromstring(dfile.read(), np.uint16).astype(float) im.shape = 256, 256 if 1: # plot the MRI in pcolor subplot(221) imshow(im, cmap=cm.gray) axis('off') if 1: # plot the histogram of MRI intensity subplot(222) im = np.ravel(im) im = im[np.nonzero(im)] # ignore the background im = im/(2.0**15) # normalize hist(im, 100) xticks([-1, -.5, 0, .5, 1]) yticks([]) xlabel('intensity') ylabel('MRI density') if 1: # plot the EEG # load the data numSamples, numRows = 800, 4 eegfile = cbook.get_sample_data('eeg.dat', asfileobj=False) print('loading eeg %s' % eegfile) data = np.fromstring(open(eegfile, 'rb').read(), float) data.shape = numSamples, numRows t = 10.0 * np.arange(numSamples, dtype=float)/numSamples ticklocs = [] ax = subplot(212) xlim(0, 10) xticks(np.arange(10)) dmin = data.min() dmax = data.max() dr = (dmax - dmin)*0.7 # Crowd them a bit. y0 = dmin y1 = (numRows - 1) * dr + dmax ylim(y0, y1) segs = [] for i in range(numRows): segs.append(np.hstack((t[:, np.newaxis], data[:, i, np.newaxis]))) ticklocs.append(i*dr) offsets = np.zeros((numRows, 2), dtype=float) offsets[:, 1] = ticklocs lines = LineCollection(segs, offsets=offsets, transOffset=None, ) ax.add_collection(lines) # set the yticks to use axes coords on the y axis ax.set_yticks(ticklocs) ax.set_yticklabels(['PG3', 'PG5', 'PG7', 'PG9']) xlabel('time (s)') show() Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)