Plotly ScatterGL Annotation Move Bug

by brian428

HTML

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://cdn.plot.ly/plotly-latest.js"></script>
<h3>Using plotly-latest. Try to move annotation to see the bug.</h3>
<p>Console shows error: 
<pre>&lt;g&gt; attribute transform: Trailing garbage, "rotate(0,NaN,128.59)".</pre>
</p>
<p>
Error only seems to happen if showarrow is false, and also seems to only happen for date axis.
</p>

<div id="testChart" style="width:100%; height:100%;"></div>

CSS

body {
  background-color: white;
}

JavaScript

var colorList = [
	"#006385", "#F06E75", "#90ed7d", "#f7a35c", "#8085e9",
  "#f15c80", "#e4d354", "#2b908f", "#f45b5b", "#91e8e1",
  "#5DA5DA", "#F06E75", "#F15854", "#B2912F", "#B276B2",
  "#DECF3F", "#FAA43A", "#4D4D4D", "#F17CB0", "#60BD68"
];

var testChart = document.getElementById('testChart');
var data = {
	x: [],
  y: [],
  color: [],
  symbol: [],
  size: [],
  customData: []
};

var npoints = 100;
for (var i = 0, l = npoints; i < l; i++) {
    data.y.push(Math.random() * 5000)
    data.x.push(i);
    data.color.push(colorList[Math.floor(Math.random() * 20)]);
    data.size.push(6);
    data.symbol.push('x');
    data.customData.push({id:i});
};

data.x = [
	"2016-12-30T12:13:20.000Z", "2016-12-30T12:13:20.100Z", "2016-12-30T12:13:20.200Z", "2016-12-30T12:13:20.300Z", "2016-12-30T12:13:20.400Z", "2016-12-30T12:13:20.500Z", "2016-12-30T12:13:20.600Z", "2016-12-30T12:13:20.700Z", "2016-12-30T12:13:20.800Z", "2016-12-30T12:13:20.900Z", "2016-12-30T12:13:21.000Z", "2016-12-30T12:13:21.100Z", "2016-12-30T12:13:21.200Z", "2016-12-30T12:13:21.300Z", "2016-12-30T12:13:21.400Z", "2016-12-30T12:13:21.500Z", "2016-12-30T12:13:21.600Z", "2016-12-30T12:13:21.700Z", "2016-12-30T12:13:21.800Z", "2016-12-30T12:13:21.900Z", "2016-12-30T12:13:22.000Z", "2016-12-30T12:13:22.100Z", "2016-12-30T12:13:22.200Z", "2016-12-30T12:13:22.300Z", "2016-12-30T12:13:22.400Z", "2016-12-30T12:13:22.500Z", "2016-12-30T12:13:22.600Z", "2016-12-30T12:13:22.700Z", "2016-12-30T12:13:22.800Z", "2016-12-30T12:13:22.900Z", "2016-12-30T12:13:23.000Z", "2016-12-30T12:13:23.100Z", "2016-12-30T12:13:23.200Z", "2016-12-30T12:13:23.300Z", "2016-12-30T12:13:23.400Z", "2016-12-30T12:13:23.500Z", "2016-12-30T12:13:23.600Z", "2016-12-30T12:13:23.700Z", "2016-12-30T12:13:23.800Z", "2016-12-30T12:13:23.900Z", "2016-12-30T12:13:24.000Z", "2016-12-30T12:13:24.100Z", "2016-12-30T12:13:24.200Z", "2016-12-30T12:13:24.300Z", "2016-12-30T12:13:24.400Z", "2016-12-30T12:13:24.500Z", "2016-12-30T12:13:24.600Z",...