diff --git a/src/plots/cartesian/autorange.js b/src/plots/cartesian/autorange.js index 7564ac8cd3a..394ba8fc87c 100644 --- a/src/plots/cartesian/autorange.js +++ b/src/plots/cartesian/autorange.js @@ -218,8 +218,11 @@ function makePadFn(ax, max) { if(axReverse) max = !max; } - extrappad = adjustPadForInsideLabelsOnAnchorAxis(extrappad, ax, max); - extrappad = adjustPadForInsideLabelsOnThisAxis(extrappad, ax, max); + var A = padInsideLabelsOnAnchorAxis(ax, max); + var B = padInsideLabelsOnThisAxis(ax, max); + + var zero = Math.max(A, B); + extrappad = Math.max(zero, extrappad); // domain-constrained axes: base extrappad on the unconstrained // domain so it's consistent as the domain changes @@ -228,18 +231,18 @@ function makePadFn(ax, max) { (ax.domain[1] - ax.domain[0]); } - return function getPad(pt) { return pt.pad + (pt.extrapad ? extrappad : 0); }; + return function getPad(pt) { return pt.pad + (pt.extrapad ? extrappad : zero); }; } var TEXTPAD = 3; -function adjustPadForInsideLabelsOnThisAxis(extrappad, ax, max) { +function padInsideLabelsOnThisAxis(ax, max) { var ticklabelposition = ax.ticklabelposition || ''; var has = function(str) { return ticklabelposition.indexOf(str) !== -1; }; - if(!has('inside')) return extrappad; + if(!has('inside')) return 0; var isTop = has('top'); var isLeft = has('left'); var isRight = has('right'); @@ -250,27 +253,26 @@ function adjustPadForInsideLabelsOnThisAxis(extrappad, ax, max) { (max && (isLeft || isBottom)) || (!max && (isRight || isTop)) ) { - return extrappad; + return 0; } // increase padding to make more room for inside tick labels of the axis var fontSize = ax.tickfont ? ax.tickfont.size : 12; var isX = ax._id.charAt(0) === 'x'; - var morePad = (isX ? 1.2 : 0.6) * fontSize; + var pad = (isX ? 1.2 : 0.6) * fontSize; if(isAligned) { - morePad *= 2; - morePad += (ax.tickwidth || 0) / 2; + pad *= 2; + pad += (ax.tickwidth || 0) / 2; } - morePad += TEXTPAD; - - extrappad = Math.max(extrappad, morePad); + pad += TEXTPAD; - return extrappad; + return pad; } -function adjustPadForInsideLabelsOnAnchorAxis(extrappad, ax, max) { +function padInsideLabelsOnAnchorAxis(ax, max) { + var pad = 0; var anchorAxis = (ax._anchorAxis || {}); if((anchorAxis.ticklabelposition || '').indexOf('inside') !== -1) { // increase padding to make more room for inside tick labels of the counter axis @@ -287,7 +289,6 @@ function adjustPadForInsideLabelsOnAnchorAxis(extrappad, ax, max) { )) { var isX = ax._id.charAt(0) === 'x'; - var morePad = 0; if(anchorAxis._vals) { var rad = Lib.deg2rad(anchorAxis._tickAngles[anchorAxis._id + 'tick'] || 0); var cosA = Math.abs(Math.cos(rad)); @@ -296,29 +297,24 @@ function adjustPadForInsideLabelsOnAnchorAxis(extrappad, ax, max) { // use bounding boxes anchorAxis._vals.forEach(function(t) { if(t.bb) { - var w = t.bb.width; - var h = t.bb.height; + var w = 2 * TEXTPAD + t.bb.width; + var h = 2 * TEXTPAD + t.bb.height; - morePad = Math.max(morePad, isX ? + pad = Math.max(pad, isX ? Math.max(w * cosA, h * sinA) : Math.max(h * cosA, w * sinA) ); - - // add extra pad around label - morePad += 3; } }); } if(anchorAxis.ticks === 'inside' && anchorAxis.ticklabelposition === 'inside') { - morePad += anchorAxis.ticklen || 0; + pad += anchorAxis.ticklen || 0; } - - extrappad = Math.max(extrappad, morePad); } } - return extrappad; + return pad; } function concatExtremes(gd, ax, noMatch) { diff --git a/src/plots/cartesian/axes.js b/src/plots/cartesian/axes.js index 0445134133a..79f72cb11f2 100644 --- a/src/plots/cartesian/axes.js +++ b/src/plots/cartesian/axes.js @@ -3334,27 +3334,36 @@ function drawTitle(gd, ax) { var axId = ax._id; var axLetter = axId.charAt(0); var fontSize = ax.title.font.size; - var titleStandoff; if(ax.title.hasOwnProperty('standoff')) { titleStandoff = ax._depth + ax.title.standoff + approxTitleDepth(ax); } else { + var isInside = (ax.ticklabelposition || '').indexOf('inside') !== -1; + if(ax.type === 'multicategory') { titleStandoff = ax._depth; } else { - var offsetBase = 1.5; - titleStandoff = 10 + fontSize * offsetBase + (ax.linewidth ? ax.linewidth - 1 : 0); + var offsetBase = 1.5 * fontSize; + if(isInside) { + offsetBase = 0.5 * fontSize; + if(ax.ticks === 'outside') { + offsetBase += ax.ticklen; + } + } + titleStandoff = 10 + offsetBase + (ax.linewidth ? ax.linewidth - 1 : 0); } - if(axLetter === 'x') { - titleStandoff += ax.side === 'top' ? - fontSize * (ax.showticklabels ? 1 : 0) : - fontSize * (ax.showticklabels ? 1.5 : 0.5); - } else { - titleStandoff += ax.side === 'right' ? - fontSize * (ax.showticklabels ? 1 : 0.5) : - fontSize * (ax.showticklabels ? 0.5 : 0); + if(!isInside) { + if(axLetter === 'x') { + titleStandoff += ax.side === 'top' ? + fontSize * (ax.showticklabels ? 1 : 0) : + fontSize * (ax.showticklabels ? 1.5 : 0.5); + } else { + titleStandoff += ax.side === 'right' ? + fontSize * (ax.showticklabels ? 1 : 0.5) : + fontSize * (ax.showticklabels ? 0.5 : 0); + } } } diff --git a/test/image/baselines/ticklabelposition-1.png b/test/image/baselines/ticklabelposition-1.png index 85c116eb93f..25874a75f97 100644 Binary files a/test/image/baselines/ticklabelposition-1.png and b/test/image/baselines/ticklabelposition-1.png differ diff --git a/test/image/baselines/ticklabelposition-2.png b/test/image/baselines/ticklabelposition-2.png index d9d94d1e6de..92a062241ea 100644 Binary files a/test/image/baselines/ticklabelposition-2.png and b/test/image/baselines/ticklabelposition-2.png differ diff --git a/test/image/baselines/ticklabelposition-3.png b/test/image/baselines/ticklabelposition-3.png new file mode 100644 index 00000000000..5c9d187fb62 Binary files /dev/null and b/test/image/baselines/ticklabelposition-3.png differ diff --git a/test/image/baselines/ticklabelposition-4.png b/test/image/baselines/ticklabelposition-4.png new file mode 100644 index 00000000000..87c231eb2a7 Binary files /dev/null and b/test/image/baselines/ticklabelposition-4.png differ diff --git a/test/image/baselines/ticklabelposition-a.png b/test/image/baselines/ticklabelposition-a.png index 2270af98e82..231ee71aa4d 100644 Binary files a/test/image/baselines/ticklabelposition-a.png and b/test/image/baselines/ticklabelposition-a.png differ diff --git a/test/image/baselines/ticklabelposition-b.png b/test/image/baselines/ticklabelposition-b.png index 5fbdc96f3cf..8be06c3ae02 100644 Binary files a/test/image/baselines/ticklabelposition-b.png and b/test/image/baselines/ticklabelposition-b.png differ diff --git a/test/image/baselines/ticklabelposition-c.png b/test/image/baselines/ticklabelposition-c.png index 09b2c6ea530..27df61d8e55 100644 Binary files a/test/image/baselines/ticklabelposition-c.png and b/test/image/baselines/ticklabelposition-c.png differ diff --git a/test/image/baselines/ticklabelposition-d.png b/test/image/baselines/ticklabelposition-d.png index 81d2cc7b4a4..d973e3fb13f 100644 Binary files a/test/image/baselines/ticklabelposition-d.png and b/test/image/baselines/ticklabelposition-d.png differ diff --git a/test/image/mocks/ticklabelposition-3.json b/test/image/mocks/ticklabelposition-3.json new file mode 100644 index 00000000000..8d697d3e8a9 --- /dev/null +++ b/test/image/mocks/ticklabelposition-3.json @@ -0,0 +1,114 @@ +{ + "data": [{ + "xaxis": "x", + "yaxis": "y", + "type": "bar", + "orientation": "h", + "x": [1, 10, 100], + "y": [1, 10, 100] + }, { + "xaxis": "x2", + "yaxis": "y2", + "type": "heatmap", + "colorbar": { + "tickangle": -90, + "dtick": 10, + "ticks": "inside", + "ticklen": 12, + "tickwidth": 4, + "ticklabelposition": "inside top" + }, + "x": [1, 10, 100], + "y": [1, 10, 100], + "z": [ + [0, 50, 100], + [50, 100, 0], + [100, 0, 50] + ] + }, { + "xaxis": "x3", + "yaxis": "y3", + "type": "scatter", + "mode": "lines", + "x": [-100, 0, 100], + "y": [-100, 0, 100] + }, { + "xaxis": "x4", + "yaxis": "y4", + "type": "bar", + "orientation": "v", + "x": [1, 10, 100], + "y": [1, 10, 100] + }], + "layout": { + "xaxis": { + "anchor": "y", + "domain": [0, 0.475], + "side": "bottom", + "ticklabelposition": "inside", + "gridcolor": "white" + }, + "yaxis": { + "anchor": "x", + "domain": [0, 0.475], + "side": "left", + "ticklabelposition": "inside", + "gridcolor": "white" + }, + "xaxis2": { + "anchor": "y2", + "domain": [0.525, 1], + "side": "bottom", + "ticklabelposition": "inside", + "gridcolor": "white" + }, + "yaxis2": { + "anchor": "x2", + "domain": [0, 0.475], + "side": "right", + "ticklabelposition": "inside", + "gridcolor": "white" + }, + "xaxis3": { + "anchor": "y3", + "domain": [0.525, 1], + "side": "top", + "ticklabelposition": "inside", + "gridcolor": "white" + }, + "yaxis3": { + "anchor": "x3", + "domain": [0.525, 1], + "side": "right", + "ticklabelposition": "inside", + "gridcolor": "white" + }, + "xaxis4": { + "anchor": "y4", + "domain": [0, 0.475], + "side": "top", + "ticklabelposition": "inside", + "gridcolor": "white" + }, + "yaxis4": { + "anchor": "x4", + "domain": [0.525, 1], + "side": "left", + "ticklabelposition": "inside", + "gridcolor": "white" + }, + "font": { + "size": 24 + }, + "plot_bgcolor": "lightblue", + "showlegend": false, + "width": 1000, + "height": 1000, + "margin": { + "t": 40, + "b": 40, + "l": 40, + "r": 40 + } + } +} diff --git a/test/image/mocks/ticklabelposition-4.json b/test/image/mocks/ticklabelposition-4.json new file mode 100644 index 00000000000..191c409d8bd --- /dev/null +++ b/test/image/mocks/ticklabelposition-4.json @@ -0,0 +1,3326 @@ +{ + "data": [ + { + "customdata": [ + [ + "2018-01-01" + ], + [ + "2018-01-08" + ], + [ + "2018-01-15" + ], + [ + "2018-01-22" + ], + [ + "2018-01-29" + ], + [ + "2018-02-05" + ], + [ + "2018-02-12" + ], + [ + "2018-02-19" + ], + [ + "2018-02-26" + ], + [ + "2018-03-05" + ], + [ + "2018-03-12" + ], + [ + "2018-03-19" + ], + [ + "2018-03-26" + ], + [ + "2018-04-02" + ], + [ + "2018-04-09" + ], + [ + "2018-04-16" + ], + [ + "2018-04-23" + ], + [ + "2018-04-30" + ], + [ + "2018-05-07" + ], + [ + "2018-05-14" + ], + [ + "2018-05-21" + ], + [ + "2018-05-28" + ], + [ + "2018-06-04" + ], + [ + "2018-06-11" + ], + [ + "2018-06-18" + ], + [ + "2018-06-25" + ], + [ + "2018-07-02" + ], + [ + "2018-07-09" + ], + [ + "2018-07-16" + ], + [ + "2018-07-23" + ], + [ + "2018-07-30" + ], + [ + "2018-08-06" + ], + [ + "2018-08-13" + ], + [ + "2018-08-20" + ], + [ + "2018-08-27" + ], + [ + "2018-09-03" + ], + [ + "2018-09-10" + ], + [ + "2018-09-17" + ], + [ + "2018-09-24" + ], + [ + "2018-10-01" + ], + [ + "2018-10-08" + ], + [ + "2018-10-15" + ], + [ + "2018-10-22" + ], + [ + "2018-10-29" + ], + [ + "2018-11-05" + ], + [ + "2018-11-12" + ], + [ + "2018-11-19" + ], + [ + "2018-11-26" + ], + [ + "2018-12-03" + ], + [ + "2018-12-10" + ], + [ + "2018-12-17" + ], + [ + "2018-12-24" + ], + [ + "2018-12-31" + ], + [ + "2019-01-07" + ], + [ + "2019-01-14" + ], + [ + "2019-01-21" + ], + [ + "2019-01-28" + ], + [ + "2019-02-04" + ], + [ + "2019-02-11" + ], + [ + "2019-02-18" + ], + [ + "2019-02-25" + ], + [ + "2019-03-04" + ], + [ + "2019-03-11" + ], + [ + "2019-03-18" + ], + [ + "2019-03-25" + ], + [ + "2019-04-01" + ], + [ + "2019-04-08" + ], + [ + "2019-04-15" + ], + [ + "2019-04-22" + ], + [ + "2019-04-29" + ], + [ + "2019-05-06" + ], + [ + "2019-05-13" + ], + [ + "2019-05-20" + ], + [ + "2019-05-27" + ], + [ + "2019-06-03" + ], + [ + "2019-06-10" + ], + [ + "2019-06-17" + ], + [ + "2019-06-24" + ], + [ + "2019-07-01" + ], + [ + "2019-07-08" + ], + [ + "2019-07-15" + ], + [ + "2019-07-22" + ], + [ + "2019-07-29" + ], + [ + "2019-08-05" + ], + [ + "2019-08-12" + ], + [ + "2019-08-19" + ], + [ + "2019-08-26" + ], + [ + "2019-09-02" + ], + [ + "2019-09-09" + ], + [ + "2019-09-16" + ], + [ + "2019-09-23" + ], + [ + "2019-09-30" + ], + [ + "2019-10-07" + ], + [ + "2019-10-14" + ], + [ + "2019-10-21" + ], + [ + "2019-10-28" + ], + [ + "2019-11-04" + ], + [ + "2019-11-11" + ], + [ + "2019-11-18" + ], + [ + "2019-11-25" + ], + [ + "2019-12-02" + ], + [ + "2019-12-09" + ], + [ + "2019-12-16" + ], + [ + "2019-12-23" + ], + [ + "2019-12-30" + ] + ], + "hovertemplate": "variable=GOOG
date=%{customdata[0]|%B %d, %Y}
value=%{y}", + "legendgroup": "GOOG", + "line": { + "color": "#636efa", + "dash": "solid" + }, + "mode": "lines", + "name": "GOOG", + "showlegend": true, + "type": "scatter", + "x": [ + "2018-01-01", + "2018-01-08", + "2018-01-15", + "2018-01-22", + "2018-01-29", + "2018-02-05", + "2018-02-12", + "2018-02-19", + "2018-02-26", + "2018-03-05", + "2018-03-12", + "2018-03-19", + "2018-03-26", + "2018-04-02", + "2018-04-09", + "2018-04-16", + "2018-04-23", + "2018-04-30", + "2018-05-07", + "2018-05-14", + "2018-05-21", + "2018-05-28", + "2018-06-04", + "2018-06-11", + "2018-06-18", + "2018-06-25", + "2018-07-02", + "2018-07-09", + "2018-07-16", + "2018-07-23", + "2018-07-30", + "2018-08-06", + "2018-08-13", + "2018-08-20", + "2018-08-27", + "2018-09-03", + "2018-09-10", + "2018-09-17", + "2018-09-24", + "2018-10-01", + "2018-10-08", + "2018-10-15", + "2018-10-22", + "2018-10-29", + "2018-11-05", + "2018-11-12", + "2018-11-19", + "2018-11-26", + "2018-12-03", + "2018-12-10", + "2018-12-17", + "2018-12-24", + "2018-12-31", + "2019-01-07", + "2019-01-14", + "2019-01-21", + "2019-01-28", + "2019-02-04", + "2019-02-11", + "2019-02-18", + "2019-02-25", + "2019-03-04", + "2019-03-11", + "2019-03-18", + "2019-03-25", + "2019-04-01", + "2019-04-08", + "2019-04-15", + "2019-04-22", + "2019-04-29", + "2019-05-06", + "2019-05-13", + "2019-05-20", + "2019-05-27", + "2019-06-03", + "2019-06-10", + "2019-06-17", + "2019-06-24", + "2019-07-01", + "2019-07-08", + "2019-07-15", + "2019-07-22", + "2019-07-29", + "2019-08-05", + "2019-08-12", + "2019-08-19", + "2019-08-26", + "2019-09-02", + "2019-09-09", + "2019-09-16", + "2019-09-23", + "2019-09-30", + "2019-10-07", + "2019-10-14", + "2019-10-21", + "2019-10-28", + "2019-11-04", + "2019-11-11", + "2019-11-18", + "2019-11-25", + "2019-12-02", + "2019-12-09", + "2019-12-16", + "2019-12-23", + "2019-12-30" + ], + "xaxis": "x", + "y": [ + 1.0, + 1.018172278347936, + 1.032007866452698, + 1.066782783389724, + 1.0087731636550117, + 0.9415276737437316, + 0.99325918262539, + 1.0222821547641083, + 0.9788520214265992, + 1.0524482730908842, + 1.0303929312465263, + 0.926821104067592, + 0.9360932452590338, + 0.913638710861412, + 0.93380695379017, + 0.9734447261178653, + 0.9345146364100892, + 0.9509902470625956, + 0.9963982380519172, + 0.9674568868105002, + 0.9758943718805396, + 1.015668254641377, + 1.0169111849053498, + 1.0453898287179595, + 1.0483111519067918, + 1.0121753574512644, + 1.0344211867653972, + 1.0785588920381208, + 1.075011617811375, + 1.1236312044424703, + 1.1102129167272332, + 1.1228237368393843, + 1.0895729410299655, + 1.1074367837463466, + 1.1052048693141154, + 1.0567939333314087, + 1.0637798374890872, + 1.0579370795194665, + 1.0827776350267664, + 1.0500077089175164, + 1.0071219039061161, + 0.9947651405743836, + 0.9720929301886708, + 0.959681788913054, + 0.9672663993407256, + 0.9630385756700248, + 0.9289168536315806, + 0.992923504040418, + 0.9404389054995582, + 0.945446952912676, + 0.8886892896888904, + 0.9408925313390586, + 0.9714034098401132, + 0.9591373489949891, + 0.9963982380519172, + 0.989802500200548, + 1.0077298024501202, + 0.9934950771344468, + 1.0103608540932627, + 1.0073850422758417, + 1.035165084150587, + 1.0363716889645844, + 1.0746032883264525, + 1.0936918990354445, + 1.064487521016258, + 1.095188886079836, + 1.1049145977684258, + 1.1216987538299403, + 1.1541874899828073, + 1.075456162061569, + 1.0562859304552756, + 1.0544986709579427, + 1.0283425342867192, + 1.0012701750318929, + 0.9671666152648106, + 0.98468558802946, + 1.0178275181736574, + 0.980657443195294, + 1.0266368965939394, + 1.0387124690620373, + 1.025285100664745, + 1.1344366027859267, + 1.0832494231376286, + 1.0778240762422375, + 1.068379555417282, + 1.0445098208996275, + 1.0779056980467905, + 1.0931748145700046, + 1.12459294475006, + 1.1158561065450243, + 1.1114649285805127, + 1.0968672799119472, + 1.1027190087861698, + 1.129972884606169, + 1.1477913211905195, + 1.1556027445379409, + 1.189742629754999, + 1.2110630442115171, + 1.1751993590303178, + 1.1839271156460471, + 1.216279741365772, + 1.222820990588552, + 1.22441776261611, + 1.2265044859331442, + 1.213013658002661 + ], + "yaxis": "y" + }, + { + "customdata": [ + [ + "2018-01-01" + ], + [ + "2018-01-08" + ], + [ + "2018-01-15" + ], + [ + "2018-01-22" + ], + [ + "2018-01-29" + ], + [ + "2018-02-05" + ], + [ + "2018-02-12" + ], + [ + "2018-02-19" + ], + [ + "2018-02-26" + ], + [ + "2018-03-05" + ], + [ + "2018-03-12" + ], + [ + "2018-03-19" + ], + [ + "2018-03-26" + ], + [ + "2018-04-02" + ], + [ + "2018-04-09" + ], + [ + "2018-04-16" + ], + [ + "2018-04-23" + ], + [ + "2018-04-30" + ], + [ + "2018-05-07" + ], + [ + "2018-05-14" + ], + [ + "2018-05-21" + ], + [ + "2018-05-28" + ], + [ + "2018-06-04" + ], + [ + "2018-06-11" + ], + [ + "2018-06-18" + ], + [ + "2018-06-25" + ], + [ + "2018-07-02" + ], + [ + "2018-07-09" + ], + [ + "2018-07-16" + ], + [ + "2018-07-23" + ], + [ + "2018-07-30" + ], + [ + "2018-08-06" + ], + [ + "2018-08-13" + ], + [ + "2018-08-20" + ], + [ + "2018-08-27" + ], + [ + "2018-09-03" + ], + [ + "2018-09-10" + ], + [ + "2018-09-17" + ], + [ + "2018-09-24" + ], + [ + "2018-10-01" + ], + [ + "2018-10-08" + ], + [ + "2018-10-15" + ], + [ + "2018-10-22" + ], + [ + "2018-10-29" + ], + [ + "2018-11-05" + ], + [ + "2018-11-12" + ], + [ + "2018-11-19" + ], + [ + "2018-11-26" + ], + [ + "2018-12-03" + ], + [ + "2018-12-10" + ], + [ + "2018-12-17" + ], + [ + "2018-12-24" + ], + [ + "2018-12-31" + ], + [ + "2019-01-07" + ], + [ + "2019-01-14" + ], + [ + "2019-01-21" + ], + [ + "2019-01-28" + ], + [ + "2019-02-04" + ], + [ + "2019-02-11" + ], + [ + "2019-02-18" + ], + [ + "2019-02-25" + ], + [ + "2019-03-04" + ], + [ + "2019-03-11" + ], + [ + "2019-03-18" + ], + [ + "2019-03-25" + ], + [ + "2019-04-01" + ], + [ + "2019-04-08" + ], + [ + "2019-04-15" + ], + [ + "2019-04-22" + ], + [ + "2019-04-29" + ], + [ + "2019-05-06" + ], + [ + "2019-05-13" + ], + [ + "2019-05-20" + ], + [ + "2019-05-27" + ], + [ + "2019-06-03" + ], + [ + "2019-06-10" + ], + [ + "2019-06-17" + ], + [ + "2019-06-24" + ], + [ + "2019-07-01" + ], + [ + "2019-07-08" + ], + [ + "2019-07-15" + ], + [ + "2019-07-22" + ], + [ + "2019-07-29" + ], + [ + "2019-08-05" + ], + [ + "2019-08-12" + ], + [ + "2019-08-19" + ], + [ + "2019-08-26" + ], + [ + "2019-09-02" + ], + [ + "2019-09-09" + ], + [ + "2019-09-16" + ], + [ + "2019-09-23" + ], + [ + "2019-09-30" + ], + [ + "2019-10-07" + ], + [ + "2019-10-14" + ], + [ + "2019-10-21" + ], + [ + "2019-10-28" + ], + [ + "2019-11-04" + ], + [ + "2019-11-11" + ], + [ + "2019-11-18" + ], + [ + "2019-11-25" + ], + [ + "2019-12-02" + ], + [ + "2019-12-09" + ], + [ + "2019-12-16" + ], + [ + "2019-12-23" + ], + [ + "2019-12-30" + ] + ], + "hovertemplate": "variable=AAPL
date=%{customdata[0]|%B %d, %Y}
value=%{y}", + "legendgroup": "AAPL", + "line": { + "color": "#EF553B", + "dash": "solid" + }, + "mode": "lines", + "name": "AAPL", + "showlegend": true, + "type": "scatter", + "x": [ + "2018-01-01", + "2018-01-08", + "2018-01-15", + "2018-01-22", + "2018-01-29", + "2018-02-05", + "2018-02-12", + "2018-02-19", + "2018-02-26", + "2018-03-05", + "2018-03-12", + "2018-03-19", + "2018-03-26", + "2018-04-02", + "2018-04-09", + "2018-04-16", + "2018-04-23", + "2018-04-30", + "2018-05-07", + "2018-05-14", + "2018-05-21", + "2018-05-28", + "2018-06-04", + "2018-06-11", + "2018-06-18", + "2018-06-25", + "2018-07-02", + "2018-07-09", + "2018-07-16", + "2018-07-23", + "2018-07-30", + "2018-08-06", + "2018-08-13", + "2018-08-20", + "2018-08-27", + "2018-09-03", + "2018-09-10", + "2018-09-17", + "2018-09-24", + "2018-10-01", + "2018-10-08", + "2018-10-15", + "2018-10-22", + "2018-10-29", + "2018-11-05", + "2018-11-12", + "2018-11-19", + "2018-11-26", + "2018-12-03", + "2018-12-10", + "2018-12-17", + "2018-12-24", + "2018-12-31", + "2019-01-07", + "2019-01-14", + "2019-01-21", + "2019-01-28", + "2019-02-04", + "2019-02-11", + "2019-02-18", + "2019-02-25", + "2019-03-04", + "2019-03-11", + "2019-03-18", + "2019-03-25", + "2019-04-01", + "2019-04-08", + "2019-04-15", + "2019-04-22", + "2019-04-29", + "2019-05-06", + "2019-05-13", + "2019-05-20", + "2019-05-27", + "2019-06-03", + "2019-06-10", + "2019-06-17", + "2019-06-24", + "2019-07-01", + "2019-07-08", + "2019-07-15", + "2019-07-22", + "2019-07-29", + "2019-08-05", + "2019-08-12", + "2019-08-19", + "2019-08-26", + "2019-09-02", + "2019-09-09", + "2019-09-16", + "2019-09-23", + "2019-09-30", + "2019-10-07", + "2019-10-14", + "2019-10-21", + "2019-10-28", + "2019-11-04", + "2019-11-11", + "2019-11-18", + "2019-11-25", + "2019-12-02", + "2019-12-09", + "2019-12-16", + "2019-12-23", + "2019-12-30" + ], + "xaxis": "x", + "y": [ + 1.0, + 1.0119428342857142, + 1.0197714685714288, + 0.9800571142857144, + 0.9171428571428571, + 0.8937714514285715, + 0.9853142457142856, + 1.002857142857143, + 1.006914325714286, + 1.02845712, + 1.0172571657142857, + 0.9425142971428572, + 0.9587428514285714, + 0.9621714571428572, + 0.99845712, + 0.9469714342857144, + 0.9275428971428572, + 1.0504571542857144, + 1.07765712, + 1.06462856, + 1.0776000114285715, + 1.0870857428571428, + 1.0954285542857145, + 1.0790856914285714, + 1.0566857028571428, + 1.0577714342857143, + 1.0741142914285715, + 1.093314297142857, + 1.0939428685714283, + 1.0913142628571428, + 1.1885143142857142, + 1.1858857085714285, + 1.2433142971428572, + 1.2352000228571431, + 1.3007428857142855, + 1.2645714457142856, + 1.279085691428571, + 1.2437714514285716, + 1.2899428857142856, + 1.2816571028571428, + 1.2692000057142856, + 1.253199988571429, + 1.236000017142857, + 1.1855999771428571, + 1.1684000057142856, + 1.1058857085714286, + 0.9845142457142856, + 1.0204571542857144, + 0.9628000285714284, + 0.9455999771428572, + 0.8613142628571429, + 0.8927428342857143, + 0.8471999714285714, + 0.8702285314285714, + 0.8961143257142857, + 0.9014856857142858, + 0.95154288, + 0.9737714514285716, + 0.97382856, + 0.9884000057142855, + 0.9998285771428572, + 0.9880571657142858, + 1.0635428285714286, + 1.0917143028571428, + 1.0854285542857145, + 1.1257142857142857, + 1.1363999714285713, + 1.1649142914285715, + 1.1674285885714286, + 1.21, + 1.1267428171428568, + 1.08, + 1.02268572, + 1.00040004, + 1.0865713942857145, + 1.1013714571428572, + 1.135885708571429, + 1.1309714171428569, + 1.167028548571429, + 1.1617143028571428, + 1.15765712, + 1.1870857428571429, + 1.1658285942857145, + 1.1485143142857142, + 1.18, + 1.1579428514285717, + 1.1928000285714286, + 1.218628542857143, + 1.25, + 1.2441714057142856, + 1.25040004, + 1.2971999714285716, + 1.3497714685714286, + 1.3509143085714286, + 1.409028582857143, + 1.4618286114285712, + 1.4865143714285716, + 1.5186286285714288, + 1.4958857085714288, + 1.5271428571428571, + 1.5469142342857145, + 1.57228568, + 1.5968000114285714, + 1.6559999314285714, + 1.6779999657142857 + ], + "yaxis": "y" + }, + { + "customdata": [ + [ + "2018-01-01" + ], + [ + "2018-01-08" + ], + [ + "2018-01-15" + ], + [ + "2018-01-22" + ], + [ + "2018-01-29" + ], + [ + "2018-02-05" + ], + [ + "2018-02-12" + ], + [ + "2018-02-19" + ], + [ + "2018-02-26" + ], + [ + "2018-03-05" + ], + [ + "2018-03-12" + ], + [ + "2018-03-19" + ], + [ + "2018-03-26" + ], + [ + "2018-04-02" + ], + [ + "2018-04-09" + ], + [ + "2018-04-16" + ], + [ + "2018-04-23" + ], + [ + "2018-04-30" + ], + [ + "2018-05-07" + ], + [ + "2018-05-14" + ], + [ + "2018-05-21" + ], + [ + "2018-05-28" + ], + [ + "2018-06-04" + ], + [ + "2018-06-11" + ], + [ + "2018-06-18" + ], + [ + "2018-06-25" + ], + [ + "2018-07-02" + ], + [ + "2018-07-09" + ], + [ + "2018-07-16" + ], + [ + "2018-07-23" + ], + [ + "2018-07-30" + ], + [ + "2018-08-06" + ], + [ + "2018-08-13" + ], + [ + "2018-08-20" + ], + [ + "2018-08-27" + ], + [ + "2018-09-03" + ], + [ + "2018-09-10" + ], + [ + "2018-09-17" + ], + [ + "2018-09-24" + ], + [ + "2018-10-01" + ], + [ + "2018-10-08" + ], + [ + "2018-10-15" + ], + [ + "2018-10-22" + ], + [ + "2018-10-29" + ], + [ + "2018-11-05" + ], + [ + "2018-11-12" + ], + [ + "2018-11-19" + ], + [ + "2018-11-26" + ], + [ + "2018-12-03" + ], + [ + "2018-12-10" + ], + [ + "2018-12-17" + ], + [ + "2018-12-24" + ], + [ + "2018-12-31" + ], + [ + "2019-01-07" + ], + [ + "2019-01-14" + ], + [ + "2019-01-21" + ], + [ + "2019-01-28" + ], + [ + "2019-02-04" + ], + [ + "2019-02-11" + ], + [ + "2019-02-18" + ], + [ + "2019-02-25" + ], + [ + "2019-03-04" + ], + [ + "2019-03-11" + ], + [ + "2019-03-18" + ], + [ + "2019-03-25" + ], + [ + "2019-04-01" + ], + [ + "2019-04-08" + ], + [ + "2019-04-15" + ], + [ + "2019-04-22" + ], + [ + "2019-04-29" + ], + [ + "2019-05-06" + ], + [ + "2019-05-13" + ], + [ + "2019-05-20" + ], + [ + "2019-05-27" + ], + [ + "2019-06-03" + ], + [ + "2019-06-10" + ], + [ + "2019-06-17" + ], + [ + "2019-06-24" + ], + [ + "2019-07-01" + ], + [ + "2019-07-08" + ], + [ + "2019-07-15" + ], + [ + "2019-07-22" + ], + [ + "2019-07-29" + ], + [ + "2019-08-05" + ], + [ + "2019-08-12" + ], + [ + "2019-08-19" + ], + [ + "2019-08-26" + ], + [ + "2019-09-02" + ], + [ + "2019-09-09" + ], + [ + "2019-09-16" + ], + [ + "2019-09-23" + ], + [ + "2019-09-30" + ], + [ + "2019-10-07" + ], + [ + "2019-10-14" + ], + [ + "2019-10-21" + ], + [ + "2019-10-28" + ], + [ + "2019-11-04" + ], + [ + "2019-11-11" + ], + [ + "2019-11-18" + ], + [ + "2019-11-25" + ], + [ + "2019-12-02" + ], + [ + "2019-12-09" + ], + [ + "2019-12-16" + ], + [ + "2019-12-23" + ], + [ + "2019-12-30" + ] + ], + "hovertemplate": "variable=AMZN
date=%{customdata[0]|%B %d, %Y}
value=%{y}", + "legendgroup": "AMZN", + "line": { + "color": "#00cc96", + "dash": "solid" + }, + "mode": "lines", + "name": "AMZN", + "showlegend": true, + "type": "scatter", + "x": [ + "2018-01-01", + "2018-01-08", + "2018-01-15", + "2018-01-22", + "2018-01-29", + "2018-02-05", + "2018-02-12", + "2018-02-19", + "2018-02-26", + "2018-03-05", + "2018-03-12", + "2018-03-19", + "2018-03-26", + "2018-04-02", + "2018-04-09", + "2018-04-16", + "2018-04-23", + "2018-04-30", + "2018-05-07", + "2018-05-14", + "2018-05-21", + "2018-05-28", + "2018-06-04", + "2018-06-11", + "2018-06-18", + "2018-06-25", + "2018-07-02", + "2018-07-09", + "2018-07-16", + "2018-07-23", + "2018-07-30", + "2018-08-06", + "2018-08-13", + "2018-08-20", + "2018-08-27", + "2018-09-03", + "2018-09-10", + "2018-09-17", + "2018-09-24", + "2018-10-01", + "2018-10-08", + "2018-10-15", + "2018-10-22", + "2018-10-29", + "2018-11-05", + "2018-11-12", + "2018-11-19", + "2018-11-26", + "2018-12-03", + "2018-12-10", + "2018-12-17", + "2018-12-24", + "2018-12-31", + "2019-01-07", + "2019-01-14", + "2019-01-21", + "2019-01-28", + "2019-02-04", + "2019-02-11", + "2019-02-18", + "2019-02-25", + "2019-03-04", + "2019-03-11", + "2019-03-18", + "2019-03-25", + "2019-04-01", + "2019-04-08", + "2019-04-15", + "2019-04-22", + "2019-04-29", + "2019-05-06", + "2019-05-13", + "2019-05-20", + "2019-05-27", + "2019-06-03", + "2019-06-10", + "2019-06-17", + "2019-06-24", + "2019-07-01", + "2019-07-08", + "2019-07-15", + "2019-07-22", + "2019-07-29", + "2019-08-05", + "2019-08-12", + "2019-08-19", + "2019-08-26", + "2019-09-02", + "2019-09-09", + "2019-09-16", + "2019-09-23", + "2019-09-30", + "2019-10-07", + "2019-10-14", + "2019-10-21", + "2019-10-28", + "2019-11-04", + "2019-11-11", + "2019-11-18", + "2019-11-25", + "2019-12-02", + "2019-12-09", + "2019-12-16", + "2019-12-23", + "2019-12-30" + ], + "xaxis": "x", + "y": [ + 1.0, + 1.0618806117055757, + 1.0532404284307677, + 1.1406756202628388, + 1.1633743377885228, + 1.0898676795580526, + 1.1786207619316666, + 1.2203654438831366, + 1.2205688381237838, + 1.284548542665418, + 1.2786826844946546, + 1.2167532101702832, + 1.1775224533715958, + 1.1432627388670606, + 1.16405781403187, + 1.2427306664489322, + 1.2794473988384474, + 1.2862244591394254, + 1.3040906767647622, + 1.2808711585229775, + 1.3099809658381354, + 1.3355191588974509, + 1.3700554610940725, + 1.3960736368996989, + 1.3958296232020404, + 1.3829181608736414, + 1.391729163581091, + 1.4750394640760272, + 1.4755844971819587, + 1.4784890230752108, + 1.4833867718479574, + 1.5346502643964448, + 1.5313308069300795, + 1.5501814209506477, + 1.637494456642517, + 1.5881591374274802, + 1.6029011479217037, + 1.5580080272628667, + 1.6295946560652816, + 1.5373757268816928, + 1.4551718788522234, + 1.435174192909178, + 1.3365524179114776, + 1.3550368620941855, + 1.3931936419790223, + 1.2963616956201691, + 1.22204146042711, + 1.3750834106560272, + 1.3254226411301075, + 1.295141330176286, + 1.1206615472526131, + 1.2024830385169751, + 1.2817010232963573, + 1.334721869745653, + 1.3799892040777797, + 1.3591372224587452, + 1.3230632475991762, + 1.2921391799289847, + 1.3081910371293215, + 1.3273996770823542, + 1.3600809993969647, + 1.3186455808291295, + 1.393136635454831, + 1.4357762325393009, + 1.4487771761299302, + 1.4947687054188046, + 1.4994712046698764, + 1.5146280474808236, + 1.5869876346023932, + 1.596612214272432, + 1.537644171481961, + 1.5205753430783882, + 1.4833786279425618, + 1.44415601504927, + 1.4677172714127285, + 1.521120475440709, + 1.5549896884611636, + 1.540613747734834, + 1.58070684404494, + 1.6361032717659916, + 1.5982882308164057, + 1.5808207570233568, + 1.4833460531345568, + 1.4706054102388, + 1.4583936118945735, + 1.4234505212166575, + 1.445148654606286, + 1.491701504811883, + 1.4964446227063888, + 1.4596872708598625, + 1.4037863302335007, + 1.4153391824933792, + 1.4090502488441077, + 1.4298696556551374, + 1.43297747571907, + 1.4574742658589632, + 1.452950830015895, + 1.4152089825177483, + 1.420277551536714, + 1.4650894340951057, + 1.425061388144621, + 1.4326601685000062, + 1.4534552436648156, + 1.52122624451373, + 1.503360026888393 + ], + "yaxis": "y" + }, + { + "customdata": [ + [ + "2018-01-01" + ], + [ + "2018-01-08" + ], + [ + "2018-01-15" + ], + [ + "2018-01-22" + ], + [ + "2018-01-29" + ], + [ + "2018-02-05" + ], + [ + "2018-02-12" + ], + [ + "2018-02-19" + ], + [ + "2018-02-26" + ], + [ + "2018-03-05" + ], + [ + "2018-03-12" + ], + [ + "2018-03-19" + ], + [ + "2018-03-26" + ], + [ + "2018-04-02" + ], + [ + "2018-04-09" + ], + [ + "2018-04-16" + ], + [ + "2018-04-23" + ], + [ + "2018-04-30" + ], + [ + "2018-05-07" + ], + [ + "2018-05-14" + ], + [ + "2018-05-21" + ], + [ + "2018-05-28" + ], + [ + "2018-06-04" + ], + [ + "2018-06-11" + ], + [ + "2018-06-18" + ], + [ + "2018-06-25" + ], + [ + "2018-07-02" + ], + [ + "2018-07-09" + ], + [ + "2018-07-16" + ], + [ + "2018-07-23" + ], + [ + "2018-07-30" + ], + [ + "2018-08-06" + ], + [ + "2018-08-13" + ], + [ + "2018-08-20" + ], + [ + "2018-08-27" + ], + [ + "2018-09-03" + ], + [ + "2018-09-10" + ], + [ + "2018-09-17" + ], + [ + "2018-09-24" + ], + [ + "2018-10-01" + ], + [ + "2018-10-08" + ], + [ + "2018-10-15" + ], + [ + "2018-10-22" + ], + [ + "2018-10-29" + ], + [ + "2018-11-05" + ], + [ + "2018-11-12" + ], + [ + "2018-11-19" + ], + [ + "2018-11-26" + ], + [ + "2018-12-03" + ], + [ + "2018-12-10" + ], + [ + "2018-12-17" + ], + [ + "2018-12-24" + ], + [ + "2018-12-31" + ], + [ + "2019-01-07" + ], + [ + "2019-01-14" + ], + [ + "2019-01-21" + ], + [ + "2019-01-28" + ], + [ + "2019-02-04" + ], + [ + "2019-02-11" + ], + [ + "2019-02-18" + ], + [ + "2019-02-25" + ], + [ + "2019-03-04" + ], + [ + "2019-03-11" + ], + [ + "2019-03-18" + ], + [ + "2019-03-25" + ], + [ + "2019-04-01" + ], + [ + "2019-04-08" + ], + [ + "2019-04-15" + ], + [ + "2019-04-22" + ], + [ + "2019-04-29" + ], + [ + "2019-05-06" + ], + [ + "2019-05-13" + ], + [ + "2019-05-20" + ], + [ + "2019-05-27" + ], + [ + "2019-06-03" + ], + [ + "2019-06-10" + ], + [ + "2019-06-17" + ], + [ + "2019-06-24" + ], + [ + "2019-07-01" + ], + [ + "2019-07-08" + ], + [ + "2019-07-15" + ], + [ + "2019-07-22" + ], + [ + "2019-07-29" + ], + [ + "2019-08-05" + ], + [ + "2019-08-12" + ], + [ + "2019-08-19" + ], + [ + "2019-08-26" + ], + [ + "2019-09-02" + ], + [ + "2019-09-09" + ], + [ + "2019-09-16" + ], + [ + "2019-09-23" + ], + [ + "2019-09-30" + ], + [ + "2019-10-07" + ], + [ + "2019-10-14" + ], + [ + "2019-10-21" + ], + [ + "2019-10-28" + ], + [ + "2019-11-04" + ], + [ + "2019-11-11" + ], + [ + "2019-11-18" + ], + [ + "2019-11-25" + ], + [ + "2019-12-02" + ], + [ + "2019-12-09" + ], + [ + "2019-12-16" + ], + [ + "2019-12-23" + ], + [ + "2019-12-30" + ] + ], + "hovertemplate": "variable=FB
date=%{customdata[0]|%B %d, %Y}
value=%{y}", + "legendgroup": "FB", + "line": { + "color": "#ab63fa", + "dash": "solid" + }, + "mode": "lines", + "name": "FB", + "showlegend": true, + "type": "scatter", + "x": [ + "2018-01-01", + "2018-01-08", + "2018-01-15", + "2018-01-22", + "2018-01-29", + "2018-02-05", + "2018-02-12", + "2018-02-19", + "2018-02-26", + "2018-03-05", + "2018-03-12", + "2018-03-19", + "2018-03-26", + "2018-04-02", + "2018-04-09", + "2018-04-16", + "2018-04-23", + "2018-04-30", + "2018-05-07", + "2018-05-14", + "2018-05-21", + "2018-05-28", + "2018-06-04", + "2018-06-11", + "2018-06-18", + "2018-06-25", + "2018-07-02", + "2018-07-09", + "2018-07-16", + "2018-07-23", + "2018-07-30", + "2018-08-06", + "2018-08-13", + "2018-08-20", + "2018-08-27", + "2018-09-03", + "2018-09-10", + "2018-09-17", + "2018-09-24", + "2018-10-01", + "2018-10-08", + "2018-10-15", + "2018-10-22", + "2018-10-29", + "2018-11-05", + "2018-11-12", + "2018-11-19", + "2018-11-26", + "2018-12-03", + "2018-12-10", + "2018-12-17", + "2018-12-24", + "2018-12-31", + "2019-01-07", + "2019-01-14", + "2019-01-21", + "2019-01-28", + "2019-02-04", + "2019-02-11", + "2019-02-18", + "2019-02-25", + "2019-03-04", + "2019-03-11", + "2019-03-18", + "2019-03-25", + "2019-04-01", + "2019-04-08", + "2019-04-15", + "2019-04-22", + "2019-04-29", + "2019-05-06", + "2019-05-13", + "2019-05-20", + "2019-05-27", + "2019-06-03", + "2019-06-10", + "2019-06-17", + "2019-06-24", + "2019-07-01", + "2019-07-08", + "2019-07-15", + "2019-07-22", + "2019-07-29", + "2019-08-05", + "2019-08-12", + "2019-08-19", + "2019-08-26", + "2019-09-02", + "2019-09-09", + "2019-09-16", + "2019-09-23", + "2019-09-30", + "2019-10-07", + "2019-10-14", + "2019-10-21", + "2019-10-28", + "2019-11-04", + "2019-11-11", + "2019-11-18", + "2019-11-25", + "2019-12-02", + "2019-12-09", + "2019-12-16", + "2019-12-23", + "2019-12-30" + ], + "xaxis": "x", + "y": [ + 1.0, + 0.9599678310954936, + 0.9702434422185674, + 1.0168584099483515, + 1.0183569327795472, + 0.9425207136466456, + 0.949210571606832, + 0.9809472149548658, + 0.9452501435830832, + 0.9913298905647344, + 0.9905806264731936, + 0.8530371628674177, + 0.8551778853033591, + 0.8413165210173983, + 0.8804923666954552, + 0.8899116599439659, + 0.9290339332394776, + 0.9451966568307202, + 1.0007492587396545, + 0.9776825642702948, + 0.9896708164943808, + 1.0382124633166991, + 1.0120417443283358, + 1.048166977313343, + 1.0796895826698554, + 1.039978596521961, + 1.0876638451914205, + 1.109553119307901, + 1.12357503483302, + 0.9359914015737306, + 0.951458353177682, + 0.9647310099631464, + 0.9301578668399936, + 0.934706922085943, + 0.9404869700673171, + 0.8725715159998442, + 0.8687182327411859, + 0.8719828084993478, + 0.8801712695690254, + 0.8420122930046896, + 0.8227990369986931, + 0.8244581110690464, + 0.7780036945784202, + 0.8046561475625534, + 0.7758094853901156, + 0.7467486995959743, + 0.7050039698687512, + 0.7525287475773482, + 0.735456214007293, + 0.7709927394918039, + 0.6687181856445861, + 0.7128712481818171, + 0.7382927084305257, + 0.7696012757955171, + 0.8029969932139043, + 0.7974845609584834, + 0.8868611275292119, + 0.8955311566861818, + 0.8696815348242483, + 0.8664168787877908, + 0.8685041144713691, + 0.9076799601494259, + 0.8883060779778621, + 0.8795289843340972, + 0.8921059494105662, + 0.9404334779630672, + 0.9585228806468435, + 0.9541342963617566, + 1.024832747396326, + 1.0461332337340143, + 1.0079742571696786, + 0.9917045600737096, + 0.9690125351133252, + 0.9497992791073284, + 0.9277495340299856, + 0.9704575658402708, + 1.0229595550561554, + 1.0329140690527994, + 1.0511104505931883, + 1.0964409334832987, + 1.0616001853379655, + 1.0690393020378066, + 1.011613582715111, + 1.0053518863681492, + 0.9831415097733526, + 0.951297801938524, + 0.993684731270493, + 1.003425201923729, + 1.0018196199576253, + 1.0164837404393767, + 0.9478191079105452, + 0.9657478790768677, + 0.9857639608531776, + 0.9946481136318508, + 1.0055659243596704, + 1.03623221184162, + 1.0213539730900516, + 1.044153062537231, + 1.0640620851786324, + 1.0791543619217223, + 1.07599677037206, + 1.0388546682733315, + 1.1040941738048429, + 1.113727585323171, + 1.0984746770626277 + ], + "yaxis": "y" + }, + { + "customdata": [ + [ + "2018-01-01" + ], + [ + "2018-01-08" + ], + [ + "2018-01-15" + ], + [ + "2018-01-22" + ], + [ + "2018-01-29" + ], + [ + "2018-02-05" + ], + [ + "2018-02-12" + ], + [ + "2018-02-19" + ], + [ + "2018-02-26" + ], + [ + "2018-03-05" + ], + [ + "2018-03-12" + ], + [ + "2018-03-19" + ], + [ + "2018-03-26" + ], + [ + "2018-04-02" + ], + [ + "2018-04-09" + ], + [ + "2018-04-16" + ], + [ + "2018-04-23" + ], + [ + "2018-04-30" + ], + [ + "2018-05-07" + ], + [ + "2018-05-14" + ], + [ + "2018-05-21" + ], + [ + "2018-05-28" + ], + [ + "2018-06-04" + ], + [ + "2018-06-11" + ], + [ + "2018-06-18" + ], + [ + "2018-06-25" + ], + [ + "2018-07-02" + ], + [ + "2018-07-09" + ], + [ + "2018-07-16" + ], + [ + "2018-07-23" + ], + [ + "2018-07-30" + ], + [ + "2018-08-06" + ], + [ + "2018-08-13" + ], + [ + "2018-08-20" + ], + [ + "2018-08-27" + ], + [ + "2018-09-03" + ], + [ + "2018-09-10" + ], + [ + "2018-09-17" + ], + [ + "2018-09-24" + ], + [ + "2018-10-01" + ], + [ + "2018-10-08" + ], + [ + "2018-10-15" + ], + [ + "2018-10-22" + ], + [ + "2018-10-29" + ], + [ + "2018-11-05" + ], + [ + "2018-11-12" + ], + [ + "2018-11-19" + ], + [ + "2018-11-26" + ], + [ + "2018-12-03" + ], + [ + "2018-12-10" + ], + [ + "2018-12-17" + ], + [ + "2018-12-24" + ], + [ + "2018-12-31" + ], + [ + "2019-01-07" + ], + [ + "2019-01-14" + ], + [ + "2019-01-21" + ], + [ + "2019-01-28" + ], + [ + "2019-02-04" + ], + [ + "2019-02-11" + ], + [ + "2019-02-18" + ], + [ + "2019-02-25" + ], + [ + "2019-03-04" + ], + [ + "2019-03-11" + ], + [ + "2019-03-18" + ], + [ + "2019-03-25" + ], + [ + "2019-04-01" + ], + [ + "2019-04-08" + ], + [ + "2019-04-15" + ], + [ + "2019-04-22" + ], + [ + "2019-04-29" + ], + [ + "2019-05-06" + ], + [ + "2019-05-13" + ], + [ + "2019-05-20" + ], + [ + "2019-05-27" + ], + [ + "2019-06-03" + ], + [ + "2019-06-10" + ], + [ + "2019-06-17" + ], + [ + "2019-06-24" + ], + [ + "2019-07-01" + ], + [ + "2019-07-08" + ], + [ + "2019-07-15" + ], + [ + "2019-07-22" + ], + [ + "2019-07-29" + ], + [ + "2019-08-05" + ], + [ + "2019-08-12" + ], + [ + "2019-08-19" + ], + [ + "2019-08-26" + ], + [ + "2019-09-02" + ], + [ + "2019-09-09" + ], + [ + "2019-09-16" + ], + [ + "2019-09-23" + ], + [ + "2019-09-30" + ], + [ + "2019-10-07" + ], + [ + "2019-10-14" + ], + [ + "2019-10-21" + ], + [ + "2019-10-28" + ], + [ + "2019-11-04" + ], + [ + "2019-11-11" + ], + [ + "2019-11-18" + ], + [ + "2019-11-25" + ], + [ + "2019-12-02" + ], + [ + "2019-12-09" + ], + [ + "2019-12-16" + ], + [ + "2019-12-23" + ], + [ + "2019-12-30" + ] + ], + "hovertemplate": "variable=NFLX
date=%{customdata[0]|%B %d, %Y}
value=%{y}", + "legendgroup": "NFLX", + "line": { + "color": "#FFA15A", + "dash": "solid" + }, + "mode": "lines", + "name": "NFLX", + "showlegend": true, + "type": "scatter", + "x": [ + "2018-01-01", + "2018-01-08", + "2018-01-15", + "2018-01-22", + "2018-01-29", + "2018-02-05", + "2018-02-12", + "2018-02-19", + "2018-02-26", + "2018-03-05", + "2018-03-12", + "2018-03-19", + "2018-03-26", + "2018-04-02", + "2018-04-09", + "2018-04-16", + "2018-04-23", + "2018-04-30", + "2018-05-07", + "2018-05-14", + "2018-05-21", + "2018-05-28", + "2018-06-04", + "2018-06-11", + "2018-06-18", + "2018-06-25", + "2018-07-02", + "2018-07-09", + "2018-07-16", + "2018-07-23", + "2018-07-30", + "2018-08-06", + "2018-08-13", + "2018-08-20", + "2018-08-27", + "2018-09-03", + "2018-09-10", + "2018-09-17", + "2018-09-24", + "2018-10-01", + "2018-10-08", + "2018-10-15", + "2018-10-22", + "2018-10-29", + "2018-11-05", + "2018-11-12", + "2018-11-19", + "2018-11-26", + "2018-12-03", + "2018-12-10", + "2018-12-17", + "2018-12-24", + "2018-12-31", + "2019-01-07", + "2019-01-14", + "2019-01-21", + "2019-01-28", + "2019-02-04", + "2019-02-11", + "2019-02-18", + "2019-02-25", + "2019-03-04", + "2019-03-11", + "2019-03-18", + "2019-03-25", + "2019-04-01", + "2019-04-08", + "2019-04-15", + "2019-04-22", + "2019-04-29", + "2019-05-06", + "2019-05-13", + "2019-05-20", + "2019-05-27", + "2019-06-03", + "2019-06-10", + "2019-06-17", + "2019-06-24", + "2019-07-01", + "2019-07-08", + "2019-07-15", + "2019-07-22", + "2019-07-29", + "2019-08-05", + "2019-08-12", + "2019-08-19", + "2019-08-26", + "2019-09-02", + "2019-09-09", + "2019-09-16", + "2019-09-23", + "2019-09-30", + "2019-10-07", + "2019-10-14", + "2019-10-21", + "2019-10-28", + "2019-11-04", + "2019-11-11", + "2019-11-18", + "2019-11-25", + "2019-12-02", + "2019-12-09", + "2019-12-16", + "2019-12-23", + "2019-12-30" + ], + "xaxis": "x", + "y": [ + 1.0, + 1.0535263142643383, + 1.0498595254569378, + 1.3076813155940448, + 1.273536771428717, + 1.188008929282134, + 1.3263487897912096, + 1.3616362026373592, + 1.4336396058469547, + 1.5783608462698024, + 1.5165008067883996, + 1.4331158380609592, + 1.4064955424902252, + 1.3755416882817828, + 1.484118227436587, + 1.5608837620628662, + 1.484642138086525, + 1.5243106261176576, + 1.5546453794312736, + 1.5437877293254985, + 1.6728891882258874, + 1.7140339274719294, + 1.7170817582484463, + 1.866660325094997, + 1.9576645850358447, + 1.864041067097456, + 1.94414015086099, + 1.8848515575777052, + 1.7193674908479577, + 1.691556657660921, + 1.633839648701375, + 1.647078369277624, + 1.50854798541483, + 1.7087480282692504, + 1.7509404459512254, + 1.660459949034241, + 1.7360826197418304, + 1.720034255916133, + 1.7816562507344105, + 1.6731749018244944, + 1.617029334324746, + 1.5842183202957685, + 1.4278298007564696, + 1.4719748494696214, + 1.4451640257830367, + 1.3629695899097676, + 1.2325348866009125, + 1.3625886860662726, + 1.262631595251403, + 1.2707271281792676, + 1.1733415549944868, + 1.2194865512765718, + 1.4170674789973934, + 1.6076479259096166, + 1.6148387919701228, + 1.6098384682642397, + 1.6184103905326357, + 1.6551740498315624, + 1.699461814861141, + 1.7287488945009553, + 1.7016048311442251, + 1.6648411718452985, + 1.7213199790151918, + 1.7191771103581814, + 1.6979855684083631, + 1.7405113638622944, + 1.6721748970861734, + 1.716034084574645, + 1.7850849901165535, + 1.8335634546034707, + 1.7193199695385504, + 1.6879375377890014, + 1.6876518241903944, + 1.6347444679569396, + 1.7185103405278743, + 1.6178389585732904, + 1.758226497494488, + 1.7492261453110591, + 1.8122290534732837, + 1.7774655512770718, + 1.5005476379697218, + 1.5990284823318142, + 1.518310297673454, + 1.471165225221077, + 1.4419733358261506, + 1.3878755896024673, + 1.398876103650743, + 1.381827735086725, + 1.400780927644628, + 1.2893470810670251, + 1.2528214711933554, + 1.299061872016242, + 1.347349808387309, + 1.3110147218673576, + 1.3182532521012131, + 1.3658269020946976, + 1.3884946904972928, + 1.4049716271019663, + 1.4785466146353017, + 1.4984522906221185, + 1.4636411194904255, + 1.4214962278799892, + 1.6043620457078422, + 1.567169808867808, + 1.5408828958311611 + ], + "yaxis": "y" + }, + { + "customdata": [ + [ + "2018-01-01" + ], + [ + "2018-01-08" + ], + [ + "2018-01-15" + ], + [ + "2018-01-22" + ], + [ + "2018-01-29" + ], + [ + "2018-02-05" + ], + [ + "2018-02-12" + ], + [ + "2018-02-19" + ], + [ + "2018-02-26" + ], + [ + "2018-03-05" + ], + [ + "2018-03-12" + ], + [ + "2018-03-19" + ], + [ + "2018-03-26" + ], + [ + "2018-04-02" + ], + [ + "2018-04-09" + ], + [ + "2018-04-16" + ], + [ + "2018-04-23" + ], + [ + "2018-04-30" + ], + [ + "2018-05-07" + ], + [ + "2018-05-14" + ], + [ + "2018-05-21" + ], + [ + "2018-05-28" + ], + [ + "2018-06-04" + ], + [ + "2018-06-11" + ], + [ + "2018-06-18" + ], + [ + "2018-06-25" + ], + [ + "2018-07-02" + ], + [ + "2018-07-09" + ], + [ + "2018-07-16" + ], + [ + "2018-07-23" + ], + [ + "2018-07-30" + ], + [ + "2018-08-06" + ], + [ + "2018-08-13" + ], + [ + "2018-08-20" + ], + [ + "2018-08-27" + ], + [ + "2018-09-03" + ], + [ + "2018-09-10" + ], + [ + "2018-09-17" + ], + [ + "2018-09-24" + ], + [ + "2018-10-01" + ], + [ + "2018-10-08" + ], + [ + "2018-10-15" + ], + [ + "2018-10-22" + ], + [ + "2018-10-29" + ], + [ + "2018-11-05" + ], + [ + "2018-11-12" + ], + [ + "2018-11-19" + ], + [ + "2018-11-26" + ], + [ + "2018-12-03" + ], + [ + "2018-12-10" + ], + [ + "2018-12-17" + ], + [ + "2018-12-24" + ], + [ + "2018-12-31" + ], + [ + "2019-01-07" + ], + [ + "2019-01-14" + ], + [ + "2019-01-21" + ], + [ + "2019-01-28" + ], + [ + "2019-02-04" + ], + [ + "2019-02-11" + ], + [ + "2019-02-18" + ], + [ + "2019-02-25" + ], + [ + "2019-03-04" + ], + [ + "2019-03-11" + ], + [ + "2019-03-18" + ], + [ + "2019-03-25" + ], + [ + "2019-04-01" + ], + [ + "2019-04-08" + ], + [ + "2019-04-15" + ], + [ + "2019-04-22" + ], + [ + "2019-04-29" + ], + [ + "2019-05-06" + ], + [ + "2019-05-13" + ], + [ + "2019-05-20" + ], + [ + "2019-05-27" + ], + [ + "2019-06-03" + ], + [ + "2019-06-10" + ], + [ + "2019-06-17" + ], + [ + "2019-06-24" + ], + [ + "2019-07-01" + ], + [ + "2019-07-08" + ], + [ + "2019-07-15" + ], + [ + "2019-07-22" + ], + [ + "2019-07-29" + ], + [ + "2019-08-05" + ], + [ + "2019-08-12" + ], + [ + "2019-08-19" + ], + [ + "2019-08-26" + ], + [ + "2019-09-02" + ], + [ + "2019-09-09" + ], + [ + "2019-09-16" + ], + [ + "2019-09-23" + ], + [ + "2019-09-30" + ], + [ + "2019-10-07" + ], + [ + "2019-10-14" + ], + [ + "2019-10-21" + ], + [ + "2019-10-28" + ], + [ + "2019-11-04" + ], + [ + "2019-11-11" + ], + [ + "2019-11-18" + ], + [ + "2019-11-25" + ], + [ + "2019-12-02" + ], + [ + "2019-12-09" + ], + [ + "2019-12-16" + ], + [ + "2019-12-23" + ], + [ + "2019-12-30" + ] + ], + "hovertemplate": "variable=MSFT
date=%{customdata[0]|%B %d, %Y}
value=%{y}", + "legendgroup": "MSFT", + "line": { + "color": "#19d3f3", + "dash": "solid" + }, + "mode": "lines", + "name": "MSFT", + "showlegend": true, + "type": "scatter", + "x": [ + "2018-01-01", + "2018-01-08", + "2018-01-15", + "2018-01-22", + "2018-01-29", + "2018-02-05", + "2018-02-12", + "2018-02-19", + "2018-02-26", + "2018-03-05", + "2018-03-12", + "2018-03-19", + "2018-03-26", + "2018-04-02", + "2018-04-09", + "2018-04-16", + "2018-04-23", + "2018-04-30", + "2018-05-07", + "2018-05-14", + "2018-05-21", + "2018-05-28", + "2018-06-04", + "2018-06-11", + "2018-06-18", + "2018-06-25", + "2018-07-02", + "2018-07-09", + "2018-07-16", + "2018-07-23", + "2018-07-30", + "2018-08-06", + "2018-08-13", + "2018-08-20", + "2018-08-27", + "2018-09-03", + "2018-09-10", + "2018-09-17", + "2018-09-24", + "2018-10-01", + "2018-10-08", + "2018-10-15", + "2018-10-22", + "2018-10-29", + "2018-11-05", + "2018-11-12", + "2018-11-19", + "2018-11-26", + "2018-12-03", + "2018-12-10", + "2018-12-17", + "2018-12-24", + "2018-12-31", + "2019-01-07", + "2019-01-14", + "2019-01-21", + "2019-01-28", + "2019-02-04", + "2019-02-11", + "2019-02-18", + "2019-02-25", + "2019-03-04", + "2019-03-11", + "2019-03-18", + "2019-03-25", + "2019-04-01", + "2019-04-08", + "2019-04-15", + "2019-04-22", + "2019-04-29", + "2019-05-06", + "2019-05-13", + "2019-05-20", + "2019-05-27", + "2019-06-03", + "2019-06-10", + "2019-06-17", + "2019-06-24", + "2019-07-01", + "2019-07-08", + "2019-07-15", + "2019-07-22", + "2019-07-29", + "2019-08-05", + "2019-08-12", + "2019-08-19", + "2019-08-26", + "2019-09-02", + "2019-09-09", + "2019-09-16", + "2019-09-23", + "2019-09-30", + "2019-10-07", + "2019-10-14", + "2019-10-21", + "2019-10-28", + "2019-11-04", + "2019-11-11", + "2019-11-18", + "2019-11-25", + "2019-12-02", + "2019-12-09", + "2019-12-16", + "2019-12-23", + "2019-12-30" + ], + "xaxis": "x", + "y": [ + 1.0, + 1.015988161560536, + 1.0205238457756245, + 1.0665607876956391, + 1.0407075282751441, + 0.9998865857832728, + 1.043202153459527, + 1.0665607876956391, + 1.0551082990110374, + 1.0946819232411402, + 1.0726839307702931, + 0.9885474319413214, + 1.034924537137441, + 1.0231318851767346, + 1.0554484622871425, + 1.0772196149853812, + 1.0865177211357813, + 1.0790339249567087, + 1.1078352963411884, + 1.0926408755495889, + 1.1153191832334917, + 1.1428733270694336, + 1.1523981709400573, + 1.1353894401771305, + 1.1385644826269534, + 1.1181539716939797, + 1.147068848008417, + 1.1954869895569342, + 1.2050118447667115, + 1.2210000857013248, + 1.225082192423581, + 1.2359677687727004, + 1.2198661929954373, + 1.2291642991458374, + 1.2737271737447062, + 1.227009825898405, + 1.2855199050794894, + 1.2956117406596723, + 1.2968590589214408, + 1.2714592862805467, + 1.242431086462613, + 1.2321125018230523, + 1.2128358835959658, + 1.203764617218174, + 1.242431086462613, + 1.2279169808840689, + 1.1687265864899288, + 1.2573987581948347, + 1.1885701057133435, + 1.2022904705229511, + 1.1138451159123457, + 1.1383376428543452, + 1.1557999511101045, + 1.1656650489700635, + 1.2213402489774292, + 1.2152170945636216, + 1.1654382205366092, + 1.1982083638006946, + 1.2271232401151322, + 1.2583059131804986, + 1.275994970495635, + 1.2530899137523548, + 1.3143213671771998, + 1.3272479912178707, + 1.3373398267980536, + 1.3594511427723972, + 1.371470623166558, + 1.398911443499003, + 1.4728426811919109, + 1.4616168621926098, + 1.4415465939098175, + 1.45220551191279, + 1.4314547583296346, + 1.4024265471725468, + 1.489964746797488, + 1.5018708923489987, + 1.5531239130712344, + 1.518993128041884, + 1.5541444028995486, + 1.5750084006121237, + 1.5491551411916282, + 1.6026759586647925, + 1.5523300929282209, + 1.5615149549492018, + 1.5435990692006107, + 1.5125297196387406, + 1.5632157599905712, + 1.5772763674503605, + 1.5570926849508404, + 1.581131634400008, + 1.5617416132953483, + 1.5661638719545554, + 1.583852929269692, + 1.5581131747791548, + 1.5957590748212025, + 1.629663201504406, + 1.655062974145301, + 1.7005329130166025, + 1.6962239778608914, + 1.7165211652903694, + 1.720716595516122, + 1.7522394318575931, + 1.7848962516181823, + 1.8024719740906685, + 1.7881845268582712 + ], + "yaxis": "y" + } + ], + "layout": { + "width": 1000, + "height": 500, + "legend": { + "title": { + "text": "variable" + }, + "tracegroupgap": 0 + }, + "title": { + "font": { + "size": 24 + }, + "text": "custom tick labels with ticklabelmode=\"period\"" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0.0, + 1.0 + ], + "linewidth": 2, + "dtick": "M1", + "tickformat": "%b\n%Y", + "ticklabelmode": "period", + "ticklabelposition": "inside", + "ticklen": 5, + "title": { + "font": { + "size": 20 + }, + "text": "date" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0.0, + 1.0 + ], + "linewidth": 2, + "side": "right", + "ticklabelposition": "inside top", + "ticklen": 10, + "title": { + "font": { + "size": 20 + }, + "text": "value" + } + } + } +} diff --git a/test/jasmine/tests/mock_test.js b/test/jasmine/tests/mock_test.js index 09ac07272bc..309867a34c2 100644 --- a/test/jasmine/tests/mock_test.js +++ b/test/jasmine/tests/mock_test.js @@ -966,6 +966,8 @@ var list = [ 'ticklabelposition-0', 'ticklabelposition-1', 'ticklabelposition-2', + 'ticklabelposition-3', + 'ticklabelposition-4', 'ticklabelposition-a', 'ticklabelposition-b', 'ticklabelposition-c', @@ -2051,6 +2053,8 @@ figs['tickformatstops'] = require('@mocks/tickformatstops'); figs['ticklabelposition-0'] = require('@mocks/ticklabelposition-0'); figs['ticklabelposition-1'] = require('@mocks/ticklabelposition-1'); figs['ticklabelposition-2'] = require('@mocks/ticklabelposition-2'); +figs['ticklabelposition-3'] = require('@mocks/ticklabelposition-3'); +figs['ticklabelposition-4'] = require('@mocks/ticklabelposition-4'); figs['ticklabelposition-a'] = require('@mocks/ticklabelposition-a'); figs['ticklabelposition-b'] = require('@mocks/ticklabelposition-b'); figs['ticklabelposition-c'] = require('@mocks/ticklabelposition-c');