From: Michael D. <md...@st...> - 2012-09-26 13:17:30
|
On 09/26/2012 04:35 AM, Todd wrote: > On Mon, Sep 24, 2012 at 3:33 PM, Todd <tod...@gm... > <mailto:tod...@gm...>> wrote: > > I would like to add a new plot type to matplotlib. Of course I am > willing to implement it myself, but I want to confirm that it is > acceptable and iron out the implementation details and API first > so there are no major surprises when I submit it. > > I tentatively am calling the plot type an "EventRaster" plot (name > suggestions, along with any other suggestions, are welcome). The > plot is made up if horizontal rows of identical vertical lines > and/or markers. Each line or marker represents a discrete event, > and each row represents a single sequence of events (such as a > trial). The x-axis position of the line or marker identifies the > location of the event by some measure. An example of what such a > plot often looks like is below. > > http://hebb.mit.edu/courses/9.29/2003/athena/dylanh/quad-rast.gif > > This sort of plot is used ubiquitously in neuroscience. It is > used to show the time of discrete neural (brain cell) events > (called "spikes") over time in repeated trials, and is generally > called a spike raster, raster plot, or raster graph. However, it > can be used in any situation where you are only concerned with the > position of events but not their amplitude, especially if you want > to look for patterns in those events or look for differences > between multiple sequences of events. > > Plotting the timing of events is an obvious use case, such as > photons hitting photodetectors, radioactive decay events, arrival > of patients to hospitals, calls to hotlines, or car accidents in > cities. However, the events do not have to be relative to time. > It could be position, for example, such as tree rings along bore > holes, road crossings along railroad tracks, layers in sediment > cores, or particular sequences along a DNA strands. > > I'll cover possible implementation details in the next email if > everyone thinks this is a good idea. > > > So does anyone think this would be a useful plot type? If so I can > explain how I plan to implement it and we can discuss changes or > improvements to that. Sorry to not get back to you sooner -- a number of us are busy here getting the 1.2.0 release ready at the moment. I think this is definitely a worthwhile plot type to add. Similar plots are used in Computer Science, for example, to visualize the execution of multi-threaded applications, or other scheduling problems. I'd personally use it for that. So, yes, let's start talking implementation. Or, if easier, you could just submit a pull request and we can go from there. Whatever method seems most appropriate to you. Cheers, Mike |