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()
.
1 Like
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
function getTimestamp(datestring)
{
return (new Date(datestring)).getTime();
}
And added .map(getTimestamp)
to all date lists.