Home » Data visualization
Category Archives: Data visualization
You must have seen these plots before, where the temporal resolution of various methods of probing brain function is plotted along one axis and their spatial resolution on the other. Spatial resolution is often approximated in terms of units of the nervous system (from dendritic spines through neurons and cortical columns all the way to lobes and hemispheres). Similarly, temporal resolution is indicated with easy-to-understand labels, from milliseconds to hours and beyond.
Thus, functional MRI, which can resolve brain activity down to the millimeter and to the second, occupies a different position on the plot than EEG, whose temporal resolution is much more accurate (within the millisecond) but whose spatial resolution is more on the scale of centimeters. The techniques that boast the highest resolution in both space and time are generally more invasive: intracerebral micro-electrode arrays are a prime example.
These plots also present a crucial piece of information when assessing methods: the extent to which they can sample the brain’s function. This is generally done by drawing an area for each technique that depicts the span that it covers in both dimensions. This notion of sampling or coverage is critical given our current understanding of major cerebral functions being subtended by large-scale networks of neurons that link remote areas into cohesive units. Thus, micro-electrodes can resolve individual neurons, but it is practically impossible to record from more than a few small patches of brain at a time.
The same sampling problem applies to time: micro-electrodes can record high-quality brain signals for days to weeks to a few months, but scarring around the implanted material tends to alter the properties of the signals in the very long term. By contrast, there is no a priori technical hurdle to placing the same subject in the fMRI scanner every day for their entire life.
Using a third dimension
In addition to resolution and coverage, some of the plots go further and use a third dimension (pseudo-3D isometric plots or colors) to represent another feature of the method. For instance, Walsh and Cowey illustrate whether a given method allows interfering with the function of the brain; examples include microstimulation and transcranial magnetic stimulation (TMS).
In another example, Devor and colleagues nicely use color to show how different optical imaging methods are able to penetrate through the thickness of the brain.
My final example, taken from an article by Mehta and Parasumaran, uses the third dimension to represent how much a given method forces the subject (human, in this case) to remain immobile. Obviously, fMRI and MEG, where the sensors are fixed to heavy machinery, and not attached to the subject’s head as are EEG electrodes of NIRS sensors, ideally require perfect immobility. This is likely to become a fundamental aspect of neuroscience methods, as neuroscience moves further towards more naturalistic, ecologically valid experimental paradigms.
To sum up, any given approach to investigating brain function has a number of dimensions that affect its performance and its adequacy to address a particular question. Spatial-temporal resolution plots for neuroscience methods are a good way of representing this complex dimensionality and a nice example of how one well-designed image can transmit a wealth of information.
Grinvald, A., & Hildesheim, R. (2004). VSDI: a new era in functional imaging of cortical dynamics Nature Reviews Neuroscience, 5 (11), 874-885 DOI: 10.1038/nrn1536
Walsh, V., & Cowey, A. (2000). Transcranial magnetic stimulation and cognitive neuroscience Nature Reviews Neuroscience, 1 (1), 73-80 DOI: 10.1038/35036239
Devor, A., Sakadžić, S., Srinivasan, V., Yaseen, M., Nizar, K., Saisan, P., Tian, P., Dale, A., Vinogradov, S., Franceschini, M., & Boas, D. (2012). Frontiers in optical imaging of cerebral blood flow and metabolism Journal of Cerebral Blood Flow & Metabolism, 32 (7), 1259-1276 DOI: 10.1038/jcbfm.2011.195
Mehta, R., & Parasuraman, R. (2013). Neuroergonomics: a review of applications to physical and cognitive work Frontiers in Human Neuroscience, 7 DOI: 10.3389/fnhum.2013.00889
I have recently attempted to use MATLAB to plot grouped bar plots (similar to the BAR(Y,’grouped’) call) together with their error bars. It’s not straightforward. There are a few user-made custom function on the File Exchange that tackle this issue, but I wasn’t all that happy with the graphic results. So I’ve made my own wrapper function that successively calls BAR, then ERRORBAR, taking care to overlay the error bars right on top of the corresponding bars. I think that the function could be useful to others, so I’ve uploaded it to the File Exchange: ERRORBAR_GROUPS produces customizable grouped bar plots with overlaid error bars.
At its most basic, this function produces bar plots similar to those obtained using MATLAB’s BAR(Y,’grouped’) function call, and then overlays error bars onto the corresponding bars.
ERRORBAR_GROUPS allows customizing the plot in several ways. For instance, both the width of the bars themselves and that of the error bars can be adjusted. The function allows asymmetric values for the lower and upper bounds of the error bars. The colors of the bars and error bars can also be customized. By default, ERRORBAR_GROUPS uses the function DISTINGUISHABLE_COLORS by Timothy E. Holy (which is a great feature, by the way!).
ERRORBAR_GROUPS allows transmitting optional input property-value pairs to both the BAR and ERRORBAR functions, making it quite versatile.
Here are some examples of what ERRORBAR_GROUPS can do.
Basic usage. Plot 3 groups with 8 bars each and their corresponding error bars.
The upper and lower bounds of the error bars need not be the same. Here is an example with the lower bounds set to be 0, effectively plotting only the upper bounds.
When plotting smaller numbers of groups and bars, it might be visually more appealing to reduce the width of the bars and of the error bars.
The function can pass PropertyName – PropertyValue pairs of input arguments to both the BAR and ERRORBAR functions, which allows for considerable customization!