Fixing x-axis range not working

I want to fix the x-axis range so that when you clear a trace in the legend, the x-axis range doesn’t change—even if one trace has a different range.

I tried:

range: ["2016-05-01", "2016-05-05"]

Seems this should be all it takes, but the x-axis range still changes.

If I set autorange: false in the layout object, the plot fails. The x-axis values and ticks are all messed up. Why is this?

However, if I set the autorange property after the layout object definition with

layout_autorange_after = false;

Then all goes well.

Here’s how: http://codepen.io/etpinard/pen/YGLOZm

Explanation: at the moment the xaxis.range items have to be input in computed coordinates (i.e. not user coordinates unfortunately). So, in order to set the range of a date axis, one must input xaxis.range in unix timestamps. Luckily, this can easily be done using plain JS new Date() and .getTime().

Same behavior. Or maybe I’m not understanding what you are saying (definitely possible).

Aha!!! I added .getTime and it works. Just as you said :wink:

function getTimestamp(datestring)
{
  return (new Date(datestring)).getTime();
}

And added .map(getTimestamp) to all date lists.