Thanks for the update, works like a charm. The highlighting is extremely useful in many cases, but having it not enabled by default would be a better choice such that the user can choose when to activate rather than deactivate.
BTW this is an example that is a simple scenario where the plots take over 10s to display and the dynamics are sluggish and can crash the notebook when scrolling them into the screen when the CPU is at 80% doing other calculations.
I get the popup dynamic update warning, abort or continue waiting.
Generally, this will result in a kernel crash.
vals = {
{{{96., 98.4}, {94.7, 95.6}}, {{95.1, 94.1}, {93.5, 92.2}}, {{94.2,
97.9}, {95.9, 95.4}}},
{{{97.2, 99.9}, {96.8, 98.7}}, {{96.5, 96.6}, {96.5,
96.8}}, {{95.8, 99.5}, {97.4, 99.}}},
{{{95.6, 97.9}, {96., 96.9}}, {{94.6, 93.6}, {95.5, 93.2}}, {{96.1,
96.6}, {96.5, 94.6}}},
{{{96.9, 98.9}, {96.2, 97.5}}, {{96.5, 94.7}, {95.8,
93.6}}, {{96.5, 98.}, {96.9, 96.}}},
{{{96.8, 98.8}, {96.5, 97.2}}, {{96.4, 95.6}, {96.3,
94.1}}, {{96.6, 98.2}, {97.4, 94.8}}},
{{{97.5, 99.7}, {98.1, 98.9}}, {{97.1, 95.8}, {97.5,
94.5}}, {{97.5, 97.4}, {98., 97.4}}},
{{{98.1, 100.7}, {98.1, 99.6}}, {{96.8, 95.7}, {97.4,
95.9}}, {{97.8, 98.4}, {98.6, 98.6}}},
{{{95.7, 97.8}, {96., 97.2}}, {{94.5, 93.4}, {95.2, 93.8}}, {{94.4,
98.1}, {97.9, 97.9}}},
{{{97.2, 98.9}, {96.7, 97.8}}, {{95.9, 94.3}, {95.7,
92.5}}, {{96.2, 97.4}, {97.7, 95.6}}},
{{{96.9, 99.}, {97.3, 98.4}}, {{96.1, 95.6}, {97.5, 95.3}}, {{95.1,
99.7}, {98.4, 98.6}}},
{{{96.7, 98.6}, {96.9, 97.6}}, {{95.7, 94.7}, {96.5,
94.3}}, {{95.1, 97.9}, {98., 97.6}}},
{{{96.8, 99.5}, {96.9, 97.8}}, {{95.4, 94.3}, {96., 93.9}}, {{97.2,
98.1}, {97.8, 97.1}}},
{{{95.4, 97.7}, {95.8, 97.}}, {{94.8, 93.9}, {95.2, 93.3}}, {{95.2,
97.5}, {97., 96.3}}},
{{{95.9, 98.}, {96., 98.}}, {{95., 93.9}, {95.4, 93.9}}, {{95.,
98.4}, {96.9, 97.6}}},
{{{97.2, 99.6}, {97.2, 98.3}}, {{96., 94.4}, {97.5, 95.1}}, {{95.7,
98.7}, {97.8, 97.7}}},
{{{97.2, 99.4}, {97.6, 98.3}}, {{96.4, 95.7}, {97.2,
95.7}}, {{95.9, 100.3}, {98.1, 98.1}}},
{{{97.2, 99.}, {97., 98.3}}, {{96.8, 96.2}, {97.3, 95.7}}, {{96.2,
98.4}, {97.9, 96.9}}},
{{{97.5, 99.7}, {97.4, 98.5}}, {{96.7, 95.5}, {97.1,
95.4}}, {{96.1, 99.2}, {98.1, 97.}}},
{{{96.5, 100.}, {96.6, 98.6}}, {{95.7, 95.2}, {96.3,
94.6}}, {{95.1, 99.4}, {97.7, 98.1}}},
{{{97.7, 99.9}, {97.9, 99.1}}, {{97., 95.8}, {98.2, 95.9}}, {{96.2,
100.2}, {97.8, 98.1}}},
{{{97.6, 100.2}, {97.5, 98.9}}, {{96.7, 95.2}, {97.6,
95.8}}, {{95.6, 99.6}, {98., 98.7}}},
{{{97.4, 98.6}, {96.7, 98.2}}, {{96.4, 94.3}, {96.3,
94.3}}, {{96.2, 99.2}, {97.5, 97.4}}},
{{{97.1, 98.8}, {97.1, 98.2}}, {{96.5, 95.}, {97.6, 95.7}}, {{96.7,
98.}, {97.9, 97.5}}},
{{{97.6, 99.5}, {96.8, 98.3}}, {{97.7, 96.}, {96.5, 95.}}, {{97.,
98.6}, {97.2, 97.6}}},
{{{97.1, 98.6}, {96.6, 97.8}}, {{96.7, 95.2}, {96.7,
95.4}}, {{97.3, 98.4}, {97.4, 97.7}}},
{{{97.5, 100.3}, {97.3, 98.8}}, {{96.7, 96.1}, {97.2,
95.5}}, {{95.4, 99.4}, {98.4, 98.1}}},
{{{97.7, 99.8}, {98.2, 99.1}}, {{96.8, 94.8}, {97.7,
95.7}}, {{96.5, 99.6}, {98.6, 98.6}}},
{{{96.3, 98.3}, {97., 98.}}, {{95.6, 93.5}, {96.6, 94.8}}, {{96.4,
97.9}, {97.9, 97.7}}},
{{{97.2, 98.4}, {96.1, 96.9}}, {{95.8, 93.9}, {95., 91.7}}, {{95.4,
99.5}, {98.2, 96.8}}},
{{{97., 99.3}, {96.6, 97.2}}, {{96.3, 95.3}, {96.3, 94.2}}, {{95.8,
99.}, {97.4, 97.6}}},
{{{97.1, 99.2}, {96.6, 98.5}}, {{96.6, 96.}, {96.5, 94.9}}, {{95.7,
98.7}, {97.6, 96.9}}}
};
opts = Sequence[ImageSize -> 300,
PlotRange -> {{0.8, 2.2}, Automatic},
PlotStyle -> Directive[Opacity[0.5], Gray]];
Grid@{
ListLinePlot[(Transpose[{{1, 2}, #}] & /@ #), opts] & /@
Transpose[vals[[All, All, 1]]],
ListLinePlot[(Transpose[{{1, 2}, #}] & /@ #), opts] & /@
Transpose[vals[[All, All, 2]]]
}