I often have the situation where I'll use Manipulate[] to compare and examine 2 or more lists. A simplified example follows:
list1 = NestList[3 # (1.25 - #) &, .1, 20];
list2 = NestList[3 # (1.3 - #) &, .1, 20];
Manipulate[
Column[{
ListLinePlot[list1[[windowStart ;; windowEnd]], ImageSize -> 350],
ListLinePlot[list2[[windowStart ;; windowEnd]], ImageSize -> 350]}
], {windowStart, 1, Length[list1] - 1, 1}, {windowEnd, 2,
Length[list1], 1}]
The 2 controls provide me a simple window on the data that lets me zoom in and out. This works great, but a couple of enhancements would make it much more useful.
If you play with the "window" sizing you'll note that the x axis of each plot resets whenever you move either control, so that it only ranges over the number of data points immediately displayed instead of the positions of the data values in the original list.
Does a simple way (or anyway) exist to display the original positions on the x axis? This would prove very useful when I look for anomalies in list calculations on very long lists.
Secondly, as sometimes I have half a dozen lists to compare at a time, can anyone suggest a way to place a crosshair over the entire column of list plots that would do two things:
- Allow me to readily compare corresponding values in different lists
- Display the position of values from the original list.
Something like this (ok, this doesn't have positions, but you get the idea):
Maybe a nested Manipulate[] might get me there? Just looking for some strategies to do this.