framewise=True not working

I have read the other post “Unlink axes” and I still can’t get it to work.

I am having the hardest time to unlink my axes. I just don’t understand how this can be so difficult. I want every FRAME of my DynamicMaps to be independent, but they aren’t. It just stays at the range of the first displayed frames of the DynamicMaps. I have literally set every single element within my plot to framewise=True. How can it STILL not work? There is no opts.DynamicMap that I can set to framewise=True. What else do I need to set to framewise=True?

If I give a generic overall option framewise=True it works (see below). But then I can’t configure the individual elements.

My object looks like this:

:Layout
   .DynamicMap.I   :DynamicMap   []
      :Overlay
         .Spread.I   :Spread   [time]   (spikes,spikes_sem)
         .Curve.I    :Curve   [time]   (spikes)
         .Spread.II  :Spread   [time]   (spikes,spikes_sem)
         .Curve.II   :Curve   [time]   (spikes)
         .VLine.I    :VLine   [x,y]
         .VLine.II   :VLine   [x,y]
         .VLine.III  :VLine   [x,y]
         .VLine.IV   :VLine   [x,y]
         .VLine.V    :VLine   [x,y]
         .VSpan.I    :VSpan   [time,spikes]
         .VSpan.II   :VSpan   [time,spikes]
         .VSpan.III  :VSpan   [time,spikes]
         .VSpan.IV   :VSpan   [time,spikes]
         .VSpan.V    :VSpan   [time,spikes]
         .VSpan.VI   :VSpan   [time,spikes]
         .VSpan.VII  :VSpan   [time,spikes]
         .VSpan.VIII :VSpan   [time,spikes]
         .VSpan.IX   :VSpan   [time,spikes]
   .DynamicMap.II  :DynamicMap   []
      :Overlay
         .Spread.I   :Spread   [time]   (spikes,spikes_sem)
         .Curve.I    :Curve   [time]   (spikes)
         .Spread.II  :Spread   [time]   (spikes,spikes_sem)
         .Curve.II   :Curve   [time]   (spikes)
         .VLine.I    :VLine   [x,y]
         .VLine.II   :VLine   [x,y]
         .VLine.III  :VLine   [x,y]
         .VLine.IV   :VLine   [x,y]
         .VSpan.I    :VSpan   [time,spikes]
         .VSpan.II   :VSpan   [time,spikes]
         .VSpan.III  :VSpan   [time,spikes]
         .VSpan.IV   :VSpan   [time,spikes]
         .VSpan.V    :VSpan   [time,spikes]
         .VSpan.VI   :VSpan   [time,spikes]
         .VSpan.VII  :VSpan   [time,spikes]
         .VSpan.VIII :VSpan   [time,spikes]
         .VSpan.IX   :VSpan   [time,spikes]
   .DynamicMap.III :DynamicMap   []
      :Overlay
         .Spread.I   :Spread   [time]   (mean_spikes,mean_spikes_sem)
         .Curve.I    :Curve   [time]   (mean_spikes)
         .VLine.I    :VLine   [x,y]
         .VLine.II   :VLine   [x,y]
         .VLine.III  :VLine   [x,y]
         .VLine.IV   :VLine   [x,y]
         .VSpan.I    :VSpan   [time,spikes]
         .VSpan.II   :VSpan   [time,spikes]
         .VSpan.III  :VSpan   [time,spikes]
         .VSpan.IV   :VSpan   [time,spikes]
         .VSpan.V    :VSpan   [time,spikes]
         .VSpan.VI   :VSpan   [time,spikes]
         .VSpan.VII  :VSpan   [time,spikes]
         .VSpan.VIII :VSpan   [time,spikes]
         .VSpan.IX   :VSpan   [time,spikes]

Setting EVERY single type of element to framewise=True for some reason doesn’t work:

    .opts(   
              opts.Curve(axiswise=True, framewise=True, shared_axes=False,  width=500, height=400), 
              opts.Spread(axiswise=True, framewise=True, shared_axes=False, width=500, height=400),
              opts.Overlay(axiswise=True, framewise=True, shared_axes=False, width=500, height=400, shared_datasource=False),
              opts.Layout(axiswise=True, framewise=True, shared_axes=False, shared_datasource=False),
              opts.VSpan(axiswise=True, framewise=True, shared_axes=False, ), 
              opts.VLine(axiswise=True, framewise=True, shared_axes=False, ),
          )

But this here strangely works, but it doesn’t allow me to configure the other elements, because I can’t do a combination of general parameters and opts.Object parameters:

    .opts(   
              axiswise=True,
          )

Note: it turns out this axiswise=True isn’t even necessary, because I had set every Curve and Spread object individually to framewise=True and that seemed to be what actually caused the framewise rescaling.

Note: I got rid of the framewise=True in the individual Curve and Spread objects and simplified the options. And somehow it works now:

   .opts(   
              opts.Curve(framewise=True), 
              opts.Spread(framewise=True),
              opts.Overlay(framewise=True),
              opts.Layout(framewise=True),
              opts.VSpan(framewise=True), 
              opts.VLine(framewise=True),
)

Therefore, for some reason, the set of options in my first post above seem to interfere with each other.
Even this is enough:

    .opts(   
              opts.Curve(framewise=True), 
              opts.Spread(framewise=True),
)

Even simpler, this here also works (probably because the Spread and Curve objects are always overlaid?):

    .opts(   
              opts.Curve(framewise=True), 
)

Boiling it down, alriieady this here seems to break the framewise=True:

    .opts(   
              opts.Curve(framewise=True, axiswise=True), 
              opts.Spread(framewise=True, axiswise=True),
)

Whereas this here still works:

    .opts(   
              opts.Curve(framewise=True, axiswise=True), 
)

(By the way, the axiswise=True doesn’t seem to work in any combination either for the plots that have the same y-axis. Overall, I find all this framewise and axiswise really hard to understand and very fiddly.)