Thanks for the suggestions. Before we heard about the possibility of setting y_range to DataRange1d() we did try setting the entire range (as opposed to the ends) to None, but that didn’t work.
This application has up to 20 scatter (line) plots, each showing a single trace (waveform). The user can interactively move forward and back through the dataset displaying the data available a specific point in time. Originally we simply created the plots with the default autoscale and left it that way. However, the users indicated that they would prefer to see the relative amplitudes. This kind of data happens to look very similar at different scales but some graphs are typically many times larger in amplitude. So even though calculating a fixed vertical scale that matches the largest current dataset makes many of the other graphs appear basically as flat lines, that’s what they want to see. Even though the users wanted to see a “fixed” scale adjusted to the size of the data in the “largest” graph for all the charts, we though it would still be useful to allow them to occasionally enable autoscaling to see the details in the smaller signals, which is why we were looking for the capability of reverting to autoscaling after setting a specified range.
Although creating completely new graphs for each new data sample would technically work, I don’t think it’s a viable option. Creating new graphs takes many times longer than the time it takes to update the current ones and we typically show 20 at a time in a grid. Furthermore, the data being displayed is time series and there could be a potentially never ending set of scale changes. That would mean creating 20 new graphs every time the scale changed, which is basically every second.
I think the best option right now will be to revert to always autoscaling until a fix becomes available to allow us to dynamically change the range on an existing chart. I’ve created GH 4315 to track the issue.
On Wednesday, May 11, 2016 at 12:21:24 PM UTC-6, Jim Sharpe wrote:
I have an application where there are a bunch of graphs displayed with each initially using the default y scaling sets the y scale to match the data.
I can toggle that behavior off and set all the charts to use the same scale by setting the y_range on each of the figures. But now I want the option of going back to the original scaling behavior.
Is it possible to “remove” the y_range that I set or some other way to have the figure go back to automatically scaling the vertical axis (short of creating a whole new set of figures)?
Note that I don’t want to set a new/different y_range, but have each figure again calculate it.