diff --git a/draftlogs/7127_add.md b/draftlogs/7127_add.md new file mode 100644 index 00000000000..bba04ef646b --- /dev/null +++ b/draftlogs/7127_add.md @@ -0,0 +1 @@ +Add a tooltip feature that can be activated by a new modebar button. It allows to add an annotation to every clicked point. [[#7127](https://github.com/plotly/plotly.js/pull/7127)] \ No newline at end of file diff --git a/lib/locales/cs.js b/lib/locales/cs.js index 51080a6e070..6d9805cafd7 100644 --- a/lib/locales/cs.js +++ b/lib/locales/cs.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'cs', dictionary: { + 'Add Tooltip to Points': 'Přidat popisek k bodům', // components/modebar/buttons.js:694 'Autoscale': 'Auto rozsah', // components/modebar/buttons.js:139 'Box Select': 'Obdélníkový výběr', // components/modebar/buttons.js:103 'Click to enter Colorscale title': 'Klikněte pro zadání názvu barevné škály', // plots/plots.js:437 diff --git a/lib/locales/cy.js b/lib/locales/cy.js index fa703ebcb3b..0074d4a57f3 100644 --- a/lib/locales/cy.js +++ b/lib/locales/cy.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'cy', dictionary: { + 'Add Tooltip to Points': 'Ychwanegu awgrymiadau i\'r pwyntiau', // components/modebar/buttons.js:694 'Autoscale': 'Graddfa awtomatig', // components / modebar / buttons.js: 150 'Box Select': 'Dewiswch â blwch', // components / modebar / buttons.js: 114 'Click to enter Colorscale title': 'Cliciwch i nodi teitl Graddfa Liw', // plots / plots.js: 327 diff --git a/lib/locales/de.js b/lib/locales/de.js index 471f3f4042a..59a3f77afda 100644 --- a/lib/locales/de.js +++ b/lib/locales/de.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'de', dictionary: { + 'Add Tooltip to Points': 'Tooltip zu Punkten hinzufügen', // components/modebar/buttons.js:694 'Autoscale': 'Automatische Skalierung', // components/modebar/buttons.js:139 'Box Select': 'Rechteckauswahl', // components/modebar/buttons.js:103 'Click to enter Colorscale title': 'Klicken, um den Farbskalatitel einzugeben', // plots/plots.js:437 diff --git a/lib/locales/es.js b/lib/locales/es.js index 5c107032429..b03d2aa4813 100644 --- a/lib/locales/es.js +++ b/lib/locales/es.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'es', dictionary: { + 'Add Tooltip to Points': 'Agregar tooltip a los puntos', // components/modebar/buttons.js:694 'Autoscale': 'Autoescalar', // components/modebar/buttons.js:139 'Box Select': 'Seleccionar Caja', // components/modebar/buttons.js:103 'Click to enter Colorscale title': 'Introducir el título de la Escala de Color', // plots/plots.js:303 diff --git a/lib/locales/fi.js b/lib/locales/fi.js index 37dfcc4aead..9a5a236e230 100644 --- a/lib/locales/fi.js +++ b/lib/locales/fi.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'fi', dictionary: { + 'Add Tooltip to Points': 'Lisää tooltip pisteisiin', 'Autoscale': 'Autoskaalaa', 'Box Select': 'Laatikkovalinta', 'Click to enter Colorscale title': 'Klikkaa antaaksesi väriskaalan otsikko', diff --git a/lib/locales/fr.js b/lib/locales/fr.js index 4f30fcc3c4e..690f80c926f 100644 --- a/lib/locales/fr.js +++ b/lib/locales/fr.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'fr', dictionary: { + 'Add Tooltip to Points': 'Ajouter une info-bulle aux points', 'Autoscale': 'Échelle automatique', 'Box Select': 'Sélection rectangulaire', 'Click to enter Colorscale title': 'Ajouter un titre à l\'échelle de couleurs', diff --git a/lib/locales/hr.js b/lib/locales/hr.js index 08700c81886..3e9d74ff9e1 100644 --- a/lib/locales/hr.js +++ b/lib/locales/hr.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'hr', dictionary: { + 'Add Tooltip to Points': 'Dodajte bilješku točkama', 'Autoscale': 'Automatsko skaliranje', 'Box Select': 'Pravokutni odabir', 'Click to enter Colorscale title': 'Kliknite za unos Colorscale naziva', diff --git a/lib/locales/it.js b/lib/locales/it.js index 73171b63647..d7b1bf104ab 100644 --- a/lib/locales/it.js +++ b/lib/locales/it.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'it', dictionary: { + 'Add Tooltip to Points': 'Aggiungi tooltip ai punti', // components/modebar/buttons.js:694 'Autoscale': 'Scala automaticamente', // components/modebar/buttons.js:139 'Box Select': 'Selezione box', // components/modebar/buttons.js:103 'Click to enter Colorscale title': 'Clicca per inserire un titolo alla scala di colori', // plots/plots.js:437 diff --git a/lib/locales/ja.js b/lib/locales/ja.js index f8a20b547e9..4003fff4083 100644 --- a/lib/locales/ja.js +++ b/lib/locales/ja.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'ja', dictionary: { + 'Add Tooltip to Points': 'ポイントにツールチップを追加', // components/modebar/buttons.js:694 'Autoscale': '自動ズーム', // components/modebar/buttons.js:139 'Box Select': '矩形選択', // components/modebar/buttons.js:103 'Click to enter Colorscale title': '色スケールタイトルを入力するにはクリック', // plots/plots.js:437 diff --git a/lib/locales/ko.js b/lib/locales/ko.js index 999ed3ab0fd..946bf527107 100644 --- a/lib/locales/ko.js +++ b/lib/locales/ko.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'ko', dictionary: { + 'Add Tooltip to Points': '포인트에 툴팁 추가', 'Autoscale': '자동 크기지정', 'Box Select': '박스 선택', 'Click to enter Colorscale title': 'Colorscale 제목을 지정하려면 클릭하세요', diff --git a/lib/locales/nl.js b/lib/locales/nl.js index 6cce2d95dd4..b8a271fb498 100644 --- a/lib/locales/nl.js +++ b/lib/locales/nl.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'nl', dictionary: { + 'Add Tooltip to Points': 'Tooltip aan punten toevoegen', 'Autoscale': 'Automatische schaal', 'Click to enter Colorscale title': 'Klik om kleurenschaal titel in te vullen', 'Click to enter Component A title': 'Klik om Component A titel in te vullen', diff --git a/lib/locales/no.js b/lib/locales/no.js index 7015b966424..58121e5a7a8 100644 --- a/lib/locales/no.js +++ b/lib/locales/no.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'no', dictionary: { + 'Add Tooltip to Points': 'Legg til verktøytips til punkter', // components/modebar/buttons.js:694 'Autoscale': 'Autoskalere', // components/modebar/buttons.js:148 'Box Select': 'Velg rektangel', // components/modebar/buttons.js:112 'Click to enter Colorscale title': 'Klikk for å oppgi tittel på fargeskala', // plots/plots.js:326 diff --git a/lib/locales/pt-br.js b/lib/locales/pt-br.js index 4cfaf06f7f5..2ad3f317c68 100644 --- a/lib/locales/pt-br.js +++ b/lib/locales/pt-br.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'pt-BR', dictionary: { + 'Add Tooltip to Points': 'Adicionar tooltip aos pontos', 'Autoscale': 'Escala automática', 'Box Select': 'Seleção retangular', 'Click to enter Colorscale title': 'Clique para editar o título da escala de cor', diff --git a/lib/locales/pt-pt.js b/lib/locales/pt-pt.js index a65928f3fa7..36207939328 100644 --- a/lib/locales/pt-pt.js +++ b/lib/locales/pt-pt.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'pt-PT', dictionary: { + 'Add Tooltip to Points': 'Adicionar tooltip aos pontos', 'Autoscale': 'Escala automática', 'Box Select': 'Seleção retangular', 'Click to enter Colorscale title': 'Clique para editar o título da escala de cor', diff --git a/lib/locales/ru.js b/lib/locales/ru.js index c7cd7fab6b8..8d44d658eb8 100644 --- a/lib/locales/ru.js +++ b/lib/locales/ru.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'ru', dictionary: { + 'Add Tooltip to Points': 'Добавить подсказку к точкам', 'Autoscale': 'Автоматическое шкалирование', 'Box Select': 'Выделение прямоугольной области', 'Click to enter Colorscale title': 'Нажмите для ввода названия цветовой шкалы', diff --git a/lib/locales/si.js b/lib/locales/si.js index e1e7e359e07..6fedbd436bd 100644 --- a/lib/locales/si.js +++ b/lib/locales/si.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'si', dictionary: { + 'Add Tooltip to Points': 'ලක්ෂ්‍ය දත්තයන්ට උපකාරය එක් කරන්න', // components/modebar/buttons.js:694 'Autoscale': 'ස්වයං පරිමාණනය', // components/modebar/buttons.js:208 'Box Select': 'කොටුව වරණය', // components/modebar/buttons.js:116 'Click to enter Colorscale title': 'වර්ණපරිමාණන සිරැසිය ඇතුල් කිරීමට ඔබන්න', // plots/plots.js:322 diff --git a/lib/locales/sk.js b/lib/locales/sk.js index 42ed3d67299..60916822713 100644 --- a/lib/locales/sk.js +++ b/lib/locales/sk.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'sk', dictionary: { + 'Add Tooltip to Points': 'Pridať tooltip k bodom', // components/modebar/buttons.js:694 'Autoscale': 'Auto rozsah', // components/modebar/buttons.js:139 'Box Select': 'Obdĺžnikový výber', // components/modebar/buttons.js:103 'Click to enter Colorscale title': 'Kliknite pre zadanie názvu farebnej škály', // plots/plots.js:437 diff --git a/lib/locales/sv.js b/lib/locales/sv.js index 14c545522a4..670896cf7c4 100644 --- a/lib/locales/sv.js +++ b/lib/locales/sv.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'sv', dictionary: { + 'Add Tooltip to Points': 'Lägg till verktygstips till punkter', // components/modebar/buttons.js:694 'Autoscale': 'Autoskala', // components/modebar/buttons.js:148 'Box Select': 'Välj rektangel', // components/modebar/buttons.js:112 'Click to enter Colorscale title': 'Klicka för att ange titel på färgskala', // plots/plots.js:326 diff --git a/lib/locales/sw.js b/lib/locales/sw.js index 2ce9e2a7603..472cdf119cb 100644 --- a/lib/locales/sw.js +++ b/lib/locales/sw.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'sw', dictionary: { + 'Add Tooltip to Points': 'Ongeza tooltip kwa pointi', 'Autoscale': 'Kigezo - otomatiki', 'Box Select': 'Teua kisanduku', 'Click to enter Colorscale title': 'Bonyeza kuandika kichwa cha Colorscale', diff --git a/lib/locales/uk.js b/lib/locales/uk.js index aa98ada6fc9..262dabaa238 100644 --- a/lib/locales/uk.js +++ b/lib/locales/uk.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'uk', dictionary: { + 'Add Tooltip to Points': 'Додати підказку до точок', 'Autoscale': 'Автоматичне шкалювання', 'Box Select': 'Виділення прямокутної області', 'Click to enter Colorscale title': 'Натисніть для введення назви шкали кольору', diff --git a/lib/locales/zh-cn.js b/lib/locales/zh-cn.js index 82b9bbdf9a4..e2903066873 100644 --- a/lib/locales/zh-cn.js +++ b/lib/locales/zh-cn.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'zh-CN', dictionary: { + 'Add Tooltip to Points': '将工具提示添加到点', // components/modebar/buttons.js:694 'Autoscale': '自动缩放', // components/modebar/buttons.js:139 'Box Select': '矩形框选', 'Click to enter Colorscale title': '点击输入色阶的标题', // plots/plots.js:437 diff --git a/lib/locales/zh-tw.js b/lib/locales/zh-tw.js index 1bfdc5291cc..ef4e42715d3 100644 --- a/lib/locales/zh-tw.js +++ b/lib/locales/zh-tw.js @@ -4,6 +4,7 @@ module.exports = { moduleType: 'locale', name: 'zh-TW', dictionary: { + 'Add Tooltip to Points': '將工具提示添加到點', // components/modebar/buttons.js:694 'Autoscale': '自動縮放', // components/modebar/buttons.js:139 'Box Select': '矩形選擇', // components/modebar/buttons.js:103 'Click to enter Colorscale title': '點擊以輸入色階標題', // plots/plots.js:437 diff --git a/src/components/modebar/buttons.js b/src/components/modebar/buttons.js index 82c5dff9a48..983eb908da5 100644 --- a/src/components/modebar/buttons.js +++ b/src/components/modebar/buttons.js @@ -7,6 +7,7 @@ var Icons = require('../../fonts/ploticon'); var eraseActiveShape = require('../shapes/draw').eraseActiveShape; var Lib = require('../../lib'); var _ = Lib._; +var lodash = require('lodash'); // Import lodash, not using default _ var modeBarButtons = module.exports = {}; @@ -654,6 +655,211 @@ modeBarButtons.toggleSpikelines = { } }; +// Define default template and style +var DEFAULT_TEMPLATES = { + date_x: '%{x|%Y-%m-%d}', // xaxis.type == "date" + date_y: '%{y|%Y-%m-%d}', + multicategory_x: '%{x}', // xaxis.type == "multicategory" + multicategory_y: '%{y}', + category_x: '%{x}', // xaxis.type == "category" + category_y: '%{y}', + x: 'x: %{x:.4~g}', + y: 'y: %{y:.4~g}', + z: 'z: %{z}', +}; + +var DEFAULT_STYLE = { + align: 'left', + arrowcolor: 'black', + arrowhead: 3, + arrowsize: 1.8, + arrowwidth: 1, + font: { + color: 'black', + family: 'Arial', + size: 12 + }, + showarrow: true, + xanchor: 'left' +}; + +modeBarButtons.tooltip = { + name: 'tooltip', + title: function(gd) { return _(gd, 'Add Tooltip to Points'); }, + icon: Icons.tooltip_annotate, + attr: '_tooltipEnabled', + val: 'on', + click: function(gd) { + var fullLayout = gd._fullLayout; + var tooltipEnabled = fullLayout._tooltipEnabled; + + fullLayout._tooltipEnabled = tooltipEnabled === 'on' ? 'off' : 'on'; + + if(fullLayout._tooltipEnabled === 'on') { + gd._tooltipClickHandler = function(data) { + var traceIndex = data.points[0].curveNumber; + var trace = gd.data[traceIndex]; + var pts = data.points[0]; + + // handle missing axis in data.points[0] (in scattercarpet) + if(pts.xaxis === undefined) pts.xaxis = fullLayout.xaxis; + if(pts.yaxis === undefined) pts.yaxis = fullLayout.yaxis; + + // Build the default tooltip template dynamically based on available data fields + var defaultTemplateParts = []; + var xAxisType = pts.xaxis.type; + var yAxisType = pts.yaxis.type; + if(pts.x !== undefined) defaultTemplateParts.push(DEFAULT_TEMPLATES.hasOwnProperty(xAxisType + '_x') ? DEFAULT_TEMPLATES[xAxisType + '_x'] : DEFAULT_TEMPLATES.x); + if(pts.y !== undefined) defaultTemplateParts.push(DEFAULT_TEMPLATES.hasOwnProperty(yAxisType + '_y') ? DEFAULT_TEMPLATES[yAxisType + '_y'] : DEFAULT_TEMPLATES.y); + if(pts.z !== undefined) defaultTemplateParts.push(DEFAULT_TEMPLATES.z); + // not consistent: + // box: missing max, upper fence... in data.points[0] + + var defaultTemplate = defaultTemplateParts.join('
'); + + var userTemplate = trace.tooltiptemplate || gd._fullData[traceIndex].tooltiptemplate || defaultTemplate; // Use user defined tooltiptemplate, or trace default if availabe + var customStyle = lodash.defaults({}, trace.tooltip, DEFAULT_STYLE); // Merge custom style with default + addTooltip(gd, data, userTemplate, customStyle); + }; + gd.on('plotly_click', gd._tooltipClickHandler); + } else { + gd.removeListener('plotly_click', gd._tooltipClickHandler); + } + + if(!gd._relayoutHandlerAdded) { + gd._relayoutHandlerAdded = true; + gd.on('plotly_relayout', function(eventData) { + removeEmptyAnnotations(gd, eventData); + }); + } + } +}; + +function clickPointToCoord(gd, data) { + var pts = data.points[0]; + var xaxis = pts.xaxis; + var yaxis = pts.yaxis; + var bb = data.event.target.getBoundingClientRect(); + + // pixel to Cartesian coordinates + var x = xaxis.p2c(data.event.clientX - bb.left); + var y = yaxis.p2c(data.event.clientY - bb.top); + + return {x: x, y: y}; +} + +function stackedCoord(gd, pts) { + // Retrieve coordinates of clicked point on stacked traces + + // Get curve data + var cd = gd.calcdata[pts.curveNumber]; + + // Get clicked point + var clickedPoint = cd.filter(function(item) { + // cd[0] holds more information than next items + // for stacked scatter, orientation is found in cd[0].t.orientation + // for bar, orientation is found in pts.fullData.orientation + // string category coordinates are only found in pts.x, pts.y. cd[0].x, cd[0].y are numeric + // item.i and pts.pointIndex are null on interpolated data + // pts.xaxis.d2c gives category coordinate index + if(pts.pointIndex !== null) { + return item.i === pts.pointIndex; + } + if(pts.fullData.orientation === "v" || (cd[0] && cd[0].t && cd[0].t.orientation) === "v") { + return item.x === pts.xaxis.d2c(pts.x); + } + if(pts.fullData.orientation === "h" || (cd[0] && cd[0].t && cd[0].t.orientation) === "h") { + return item.y === pts.yaxis.d2c(pts.y); + } + }); + + if(clickedPoint.length) { + var x = clickedPoint[0].x; + var y = clickedPoint[0].y; + return {x: x, y: y}; + } else { + return {x: pts.x, y: pts.y}; + } +} + +function addTooltip(gd, data, userTemplate, customStyle) { + var pts = data.points[0]; + var fullLayout = gd._fullLayout; + + if(pts && pts.xaxis && pts.yaxis && fullLayout) { + // Convert template to text using Plotly hovertemplate formatting method + var text = Lib.hovertemplateString(userTemplate, {}, fullLayout._d3locale, pts, {}); + + var x = pts.x; + var y = (pts.y !== undefined && pts.y !== null) ? pts.y : pts.high; // fallback value for candlestick etc + + // Handle stacked traces + // not consistent: + // bar plots are stacked with barmode == "stack" + // scatter plotas are stacked when stackgroup is set + if(fullLayout.barmode == "stack" || (pts.fullData && pts.fullData.stackgroup && pts.fullData.stackgroup !== "")){ + var {x, y} = stackedCoord(gd, pts); + } + + // Handle histogram with more than one curve (bars displayed side to side) + // This ensures the tooltip is on the clicked bar and not always on the middle bar + if(pts.fullData && ['bar', 'box', 'histogram', 'violin', 'waterfall'].includes(pts.fullData.type) && fullLayout._dataLength) { + var clickCoord = clickPointToCoord(gd, data); + if(pts.fullData.orientation === 'v') { + x = clickCoord.x; + } + if(pts.fullData.orientation === 'h') { + y = clickCoord.y; + } + } + + // Retrieve the proper axis ids for xref and yref + var xAxisName = 'x' + (pts.xaxis._id !== 'x' ? pts.xaxis._id.replace('x', '') : ''); + var yAxisName = 'y' + (pts.yaxis._id !== 'y' ? pts.yaxis._id.replace('y', '') : ''); + + var newAnnotation = { + // Handle log axis https://plotly.com/javascript/text-and-annotations/#annotations-with-log-axes + x: pts.xaxis.type === 'log' ? Math.log10(x) : x, + y: pts.yaxis.type === 'log' ? Math.log10(y) : y, + xref: xAxisName, + yref: yAxisName, + text: text, + showarrow: true, + ax: 5, + ay: -20 + }; + + lodash.defaults(newAnnotation, customStyle); + + // Prevent having multiple tooltip annotations on the same point (useful when user wants to annotate nearby points) + // Does not prevent multiple tooltips on histogram (would not be useful on bars) + var existingIndex = fullLayout.annotations.findIndex(function(ann) { + return ann.x === x && ann.y === y && ann.xref === xAxisName && ann.yref === yAxisName; + }); + + if(existingIndex === -1) { + fullLayout.annotations.push(newAnnotation); + var aObj = { annotations: fullLayout.annotations }; + Registry.call('_guiRelayout', gd, aObj); + } + } +} + +function removeEmptyAnnotations(gd, eventData) { + for(var key in eventData) { + if(key.includes('annotations[') && key.includes('].text')) { + var index = key.match(/annotations\[(\d+)\]\.text/)[1]; + if(eventData[key] === '') { + var updatedAnnotations = gd.layout.annotations || []; + updatedAnnotations.splice(index, 1); + var aObj = { annotations: updatedAnnotations }; + Registry.call('_guiRelayout', gd, aObj); + break; + } + } + } +} + function setSpikelineVisibility(gd) { var fullLayout = gd._fullLayout; var areSpikesOn = fullLayout._cartesianSpikesEnabled === 'on'; diff --git a/src/components/modebar/constants.js b/src/components/modebar/constants.js index 788cbb5ae4e..e990566fb68 100644 --- a/src/components/modebar/constants.js +++ b/src/components/modebar/constants.js @@ -13,11 +13,12 @@ var DRAW_MODES = [ ]; var backButtons = [ + 'tooltip', 'v1hovermode', 'hoverclosest', 'hovercompare', 'togglehover', - 'togglespikelines' + 'togglespikelines', ].concat(DRAW_MODES); var foreButtons = []; diff --git a/src/components/modebar/manage.js b/src/components/modebar/manage.js index 1683b082617..486bac0daa0 100644 --- a/src/components/modebar/manage.js +++ b/src/components/modebar/manage.js @@ -187,7 +187,7 @@ function getButtonGroups(gd) { // regardless of what other types are on the plot, since they'll all // just treat any truthy hovermode as 'closest' if(hasCartesian) { - hoverGroup.push('toggleSpikelines', 'hoverClosestCartesian', 'hoverCompareCartesian'); + hoverGroup.push('toggleSpikelines', 'hoverClosestCartesian', 'hoverCompareCartesian', 'tooltip'); } if(hasNoHover(fullData) || hasUnifiedHoverLabel) { hoverGroup = []; @@ -252,6 +252,8 @@ function getButtonGroups(gd) { enableHover('hoverClosestGeo'); enableHover('hoverClosest3d'); enableHover('hoverClosestPie'); + } else if(b === 'tooltip') { + enableHover('tooltip'); } } else newList.push(b); } diff --git a/src/fonts/ploticon.js b/src/fonts/ploticon.js index f9f496f7ed0..ac364e2bc8d 100644 --- a/src/fonts/ploticon.js +++ b/src/fonts/ploticon.js @@ -183,5 +183,10 @@ module.exports = { ' ', '' ].join('') - } + }, + tooltip_annotate: { + width: 24, + height: 24, + path: 'M3.559 4.544c.355-.35.834-.544 1.33-.544H19.11c.496 0 .975.194 1.33.544s.559.829.559 1.331v9.25c0 .502-.203.981-.559 1.331-.355.35-.834.544-1.33.544H15.5l-2.7 3.6a1 1 0 0 1-1.6 0L8.5 17H4.889c-.496 0-.975-.194-1.33-.544A1.87 1.87 0 0 1 3 15.125v-9.25c0-.502.203-.981.559-1.331M7.556 7.5a1 1 0 1 0 0 2h8a1 1 0 0 0 0-2zm0 3.5a1 1 0 1 0 0 2H12a1 1 0 1 0 0-2z', + }, }; diff --git a/src/plots/template_attributes.js b/src/plots/template_attributes.js index 9f01f920688..c4be024ceed 100644 --- a/src/plots/template_attributes.js +++ b/src/plots/template_attributes.js @@ -87,6 +87,36 @@ exports.hovertemplateAttrs = function(opts, extra) { return hovertemplate; }; + +exports.tooltiptemplateAttrs = function(opts, extra) { + opts = opts || {}; + extra = extra || {}; + + var descPart = describeVariables(extra); + + var tooltiptemplate = { + valType: 'string', + dflt: '', + editType: opts.editType || 'none', + description: [ + 'Template string used for rendering the information that appear on tooltip box.', + 'The parameters and syntax are the same than for hovertemplate.', + 'Note that this will override `tooltipinfo`.', + templateFormatStringDescription({supportOther: true}), + 'The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data.', + 'Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.', + descPart + ].join(' ') + }; + + if(opts.arrayOk !== false) { + tooltiptemplate.arrayOk = true; + } + + return tooltiptemplate; +}; + + exports.texttemplateAttrs = function(opts, extra) { opts = opts || {}; extra = extra || {}; diff --git a/src/traces/bar/attributes.js b/src/traces/bar/attributes.js index 04f778ec2aa..1f2b5cc8d6a 100644 --- a/src/traces/bar/attributes.js +++ b/src/traces/bar/attributes.js @@ -3,6 +3,8 @@ var scatterAttrs = require('../scatter/attributes'); var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; +var annotationAttrs = require('../../components/annotations/attributes'); var texttemplateAttrs = require('../../plots/template_attributes').texttemplateAttrs; var colorScaleAttrs = require('../../components/colorscale/attributes'); var fontAttrs = require('../../plots/font_attributes'); @@ -217,6 +219,16 @@ module.exports = { textfont: scatterAttrs.selected.textfont, editType: 'style' }, + + tooltip: {values: extendFlat({}, annotationAttrs), + valType: 'any', + description: 'Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.', + editType: 'calc' + }, + tooltiptemplate: tooltiptemplateAttrs({}, { + keys: constants.eventDataKeys + }), + unselected: { marker: { opacity: scatterAttrs.unselected.marker.opacity, diff --git a/src/traces/bar/defaults.js b/src/traces/bar/defaults.js index 66cd408b06f..996675960c8 100644 --- a/src/traces/bar/defaults.js +++ b/src/traces/bar/defaults.js @@ -40,6 +40,9 @@ function supplyDefaults(traceIn, traceOut, defaultColor, layout) { coerce('hovertext'); coerce('hovertemplate'); + coerce('tooltip'); + coerce('tooltiptemplate'); + var textposition = coerce('textposition'); handleText(traceIn, traceOut, layout, coerce, textposition, { moduleHasSelected: true, diff --git a/src/traces/box/attributes.js b/src/traces/box/attributes.js index 6acfb11b7db..4a8b1fa22ba 100644 --- a/src/traces/box/attributes.js +++ b/src/traces/box/attributes.js @@ -442,6 +442,9 @@ module.exports = { ].join(' ') }), + tooltip: scatterAttrs.tooltip, + tooltiptemplate: scatterAttrs.tooltiptemplate, + hoveron: { valType: 'flaglist', flags: ['boxes', 'points'], diff --git a/src/traces/box/defaults.js b/src/traces/box/defaults.js index 8241e0cb140..bec897dd28e 100644 --- a/src/traces/box/defaults.js +++ b/src/traces/box/defaults.js @@ -278,6 +278,9 @@ function handlePointsDefaults(traceIn, traceOut, coerce, opts) { coerce('text'); coerce('hovertext'); + + coerce('tooltip'); + coerce('tooltiptemplate'); } else { delete traceOut.marker; } diff --git a/src/traces/candlestick/attributes.js b/src/traces/candlestick/attributes.js index 4cfde82c30c..26d1faf2498 100644 --- a/src/traces/candlestick/attributes.js +++ b/src/traces/candlestick/attributes.js @@ -2,6 +2,8 @@ var extendFlat = require('../../lib').extendFlat; var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; +var annotationAttrs = require('../../components/annotations/attributes'); var OHLCattrs = require('../ohlc/attributes'); var boxAttrs = require('../box/attributes'); @@ -53,5 +55,13 @@ module.exports = { whiskerwidth: extendFlat({}, boxAttrs.whiskerwidth, { dflt: 0 }), hoverlabel: OHLCattrs.hoverlabel, + + tooltip: {values: extendFlat({}, annotationAttrs), + valType: 'any', + description: 'Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.', + editType: 'calc' + }, + tooltiptemplate: OHLCattrs.tooltiptemplate, + zorder: boxAttrs.zorder }; diff --git a/src/traces/candlestick/defaults.js b/src/traces/candlestick/defaults.js index e8e44b4ed5b..bcddcf4cf5f 100644 --- a/src/traces/candlestick/defaults.js +++ b/src/traces/candlestick/defaults.js @@ -30,6 +30,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('hovertext'); coerce('whiskerwidth'); + coerce('tooltip'); + coerce('tooltiptemplate'); + layout._requestRangeslider[traceOut.xaxis] = true; coerce('zorder'); }; diff --git a/src/traces/contour/attributes.js b/src/traces/contour/attributes.js index 3562a98c641..b470161309e 100644 --- a/src/traces/contour/attributes.js +++ b/src/traces/contour/attributes.js @@ -42,6 +42,8 @@ module.exports = extendFlat({ yhoverformat: axisHoverFormat('y'), zhoverformat: axisHoverFormat('z', 1), hovertemplate: heatmapAttrs.hovertemplate, + tooltip: heatmapAttrs.tooltip, + tooltiptemplate: heatmapAttrs.tooltiptemplate, texttemplate: extendFlat({}, heatmapAttrs.texttemplate, { description: [ 'For this trace it only has an effect if `coloring` is set to *heatmap*.', diff --git a/src/traces/contour/defaults.js b/src/traces/contour/defaults.js index 0d45eca75e6..7a880fe930c 100644 --- a/src/traces/contour/defaults.js +++ b/src/traces/contour/defaults.js @@ -35,6 +35,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('hoverongaps'); coerce('hovertemplate'); + coerce('tooltip'); + coerce('tooltiptemplate'); + var isConstraint = (coerce('contours.type') === 'constraint'); coerce('connectgaps', Lib.isArray1D(traceOut.z)); diff --git a/src/traces/funnel/attributes.js b/src/traces/funnel/attributes.js index 86a52007b13..d8098fb02a1 100644 --- a/src/traces/funnel/attributes.js +++ b/src/traces/funnel/attributes.js @@ -36,6 +36,9 @@ module.exports = { flags: ['name', 'x', 'y', 'text', 'percent initial', 'percent previous', 'percent total'] }), + tooltip: barAttrs.tooltip, + tooltiptemplate: barAttrs.tooltiptemplate, + textinfo: { valType: 'flaglist', flags: ['label', 'text', 'percent initial', 'percent previous', 'percent total', 'value'], diff --git a/src/traces/funnel/defaults.js b/src/traces/funnel/defaults.js index 02a7ad47efa..b25d5829c57 100644 --- a/src/traces/funnel/defaults.js +++ b/src/traces/funnel/defaults.js @@ -33,6 +33,9 @@ function supplyDefaults(traceIn, traceOut, defaultColor, layout) { coerce('hovertext'); coerce('hovertemplate'); + coerce('tooltip'); + coerce('tooltiptemplate'); + var textposition = coerce('textposition'); handleText(traceIn, traceOut, layout, coerce, textposition, { moduleHasSelected: false, diff --git a/src/traces/heatmap/attributes.js b/src/traces/heatmap/attributes.js index 60cd9204297..ad1c713a74b 100644 --- a/src/traces/heatmap/attributes.js +++ b/src/traces/heatmap/attributes.js @@ -5,6 +5,8 @@ var baseAttrs = require('../../plots/attributes'); var fontAttrs = require('../../plots/font_attributes'); var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; +var annotationAttrs = require('../../components/annotations/attributes'); var texttemplateAttrs = require('../../plots/template_attributes').texttemplateAttrs; var colorScaleAttrs = require('../../components/colorscale/attributes'); @@ -133,6 +135,14 @@ module.exports = extendFlat({ }), showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false}), + + tooltip: {values: extendFlat({}, annotationAttrs), + valType: 'any', + description: 'Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.', + editType: 'calc' + }, + tooltiptemplate: extendFlat({}, tooltiptemplateAttrs(), {dflt: 'x: %{x}
y: %{y}
z: %{z}'}), + zorder: scatterAttrs.zorder }, colorScaleAttrs('', {cLetter: 'z', autoColorDflt: false}) diff --git a/src/traces/heatmap/defaults.js b/src/traces/heatmap/defaults.js index 7387b005623..a40e833a87a 100644 --- a/src/traces/heatmap/defaults.js +++ b/src/traces/heatmap/defaults.js @@ -28,6 +28,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('text'); coerce('hovertext'); coerce('hovertemplate'); + + coerce('tooltip'); + coerce('tooltiptemplate'); handleHeatmapLabelDefaults(coerce, layout); handleStyleDefaults(traceIn, traceOut, coerce, layout); diff --git a/src/traces/histogram/attributes.js b/src/traces/histogram/attributes.js index 7ba5776d70a..64b1817f5d4 100644 --- a/src/traces/histogram/attributes.js +++ b/src/traces/histogram/attributes.js @@ -3,6 +3,8 @@ var barAttrs = require('../bar/attributes'); var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; +var annotationAttrs = require('../../components/annotations/attributes'); var texttemplateAttrs = require('../../plots/template_attributes').texttemplateAttrs; var fontAttrs = require('../../plots/font_attributes'); var makeBinAttrs = require('./bin_attributes'); @@ -246,5 +248,14 @@ module.exports = { selected: barAttrs.selected, unselected: barAttrs.unselected, + tooltip: {values: extendFlat({}, annotationAttrs), + valType: 'any', + description: 'Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.', + editType: 'calc' + }, + tooltiptemplate: tooltiptemplateAttrs({}, { + keys: constants.eventDataKeys + }), + zorder: barAttrs.zorder }; diff --git a/src/traces/histogram/defaults.js b/src/traces/histogram/defaults.js index e381b0d7841..93b53394f34 100644 --- a/src/traces/histogram/defaults.js +++ b/src/traces/histogram/defaults.js @@ -38,6 +38,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('xhoverformat'); coerce('yhoverformat'); + coerce('tooltip'); + coerce('tooltiptemplate'); + var orientation = coerce('orientation', (y && !x) ? 'h' : 'v'); var sampleLetter = orientation === 'v' ? 'x' : 'y'; var aggLetter = orientation === 'v' ? 'y' : 'x'; diff --git a/src/traces/histogram2d/attributes.js b/src/traces/histogram2d/attributes.js index 629a8eca23c..27ea12954cd 100644 --- a/src/traces/histogram2d/attributes.js +++ b/src/traces/histogram2d/attributes.js @@ -6,6 +6,8 @@ var heatmapAttrs = require('../heatmap/attributes'); var baseAttrs = require('../../plots/attributes'); var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; +var annotationAttrs = require('../../components/annotations/attributes'); var texttemplateAttrs = require('../../plots/template_attributes').texttemplateAttrs; var colorScaleAttrs = require('../../components/colorscale/attributes'); @@ -77,6 +79,12 @@ module.exports = extendFlat( keys: 'z' }), textfont: heatmapAttrs.textfont, + tooltip: {values: extendFlat({}, annotationAttrs), + valType: 'any', + description: 'Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.', + editType: 'calc' + }, + tooltiptemplate: tooltiptemplateAttrs({}, {keys: 'z'}), showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false}) }, colorScaleAttrs('', {cLetter: 'z', autoColorDflt: false}) diff --git a/src/traces/histogram2d/defaults.js b/src/traces/histogram2d/defaults.js index 9a794ef329b..8b08a6adff5 100644 --- a/src/traces/histogram2d/defaults.js +++ b/src/traces/histogram2d/defaults.js @@ -21,6 +21,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'z'}); coerce('hovertemplate'); + coerce('tooltip'); + coerce('tooltiptemplate'); + handleHeatmapLabelDefaults(coerce, layout); coerce('xhoverformat'); diff --git a/src/traces/histogram2dcontour/attributes.js b/src/traces/histogram2dcontour/attributes.js index f1feef7e561..fe053d0a55e 100644 --- a/src/traces/histogram2dcontour/attributes.js +++ b/src/traces/histogram2dcontour/attributes.js @@ -44,7 +44,9 @@ module.exports = extendFlat({ zhoverformat: axisHoverFormat('z', 1), hovertemplate: histogram2dAttrs.hovertemplate, texttemplate: contourAttrs.texttemplate, - textfont: contourAttrs.textfont + textfont: contourAttrs.textfont, + tooltip: histogram2dAttrs.tooltip, + tooltiptemplate: histogram2dAttrs.tooltiptemplate }, colorScaleAttrs('', { cLetter: 'z', diff --git a/src/traces/histogram2dcontour/defaults.js b/src/traces/histogram2dcontour/defaults.js index 8f78147079f..cb641ddd0ea 100644 --- a/src/traces/histogram2dcontour/defaults.js +++ b/src/traces/histogram2dcontour/defaults.js @@ -26,6 +26,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('xhoverformat'); coerce('yhoverformat'); coerce('hovertemplate'); + + coerce('tooltip'); + coerce('tooltiptemplate'); if( traceOut.contours && traceOut.contours.coloring === 'heatmap' diff --git a/src/traces/ohlc/attributes.js b/src/traces/ohlc/attributes.js index e5305791d4f..85445c65957 100644 --- a/src/traces/ohlc/attributes.js +++ b/src/traces/ohlc/attributes.js @@ -3,6 +3,8 @@ var extendFlat = require('../../lib').extendFlat; var scatterAttrs = require('../scatter/attributes'); var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; +var annotationAttrs = require('../../components/annotations/attributes'); var dash = require('../../components/drawing/attributes').dash; var fxAttrs = require('../../components/fx/attributes'); var delta = require('../../constants/delta.js'); @@ -134,5 +136,15 @@ module.exports = { } }), + tooltip: {values: extendFlat({}, annotationAttrs), + valType: 'any', + description: 'Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.', + editType: 'calc' + }, + tooltiptemplate: extendFlat( + {}, tooltiptemplateAttrs(), + {dflt: 'x: %{x}
open: %{open:.2f}
high: %{high:.2f}
low: %{low:.2f}
close: %{close:.2f}' + }), + zorder: scatterAttrs.zorder }; diff --git a/src/traces/ohlc/defaults.js b/src/traces/ohlc/defaults.js index 2557ecea8ee..fac61c8563f 100644 --- a/src/traces/ohlc/defaults.js +++ b/src/traces/ohlc/defaults.js @@ -30,6 +30,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('hovertext'); coerce('tickwidth'); + coerce('tooltip'); + coerce('tooltiptemplate'); + layout._requestRangeslider[traceOut.xaxis] = true; coerce('zorder'); diff --git a/src/traces/scatter/attributes.js b/src/traces/scatter/attributes.js index 84844d8fc60..59dacc954fd 100644 --- a/src/traces/scatter/attributes.js +++ b/src/traces/scatter/attributes.js @@ -3,6 +3,8 @@ var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; var texttemplateAttrs = require('../../plots/template_attributes').texttemplateAttrs; var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; +var annotationAttrs = require('../../components/annotations/attributes'); var colorScaleAttrs = require('../../components/colorscale/attributes'); var fontAttrs = require('../../plots/font_attributes'); var dash = require('../../components/drawing/attributes').dash; @@ -686,6 +688,14 @@ module.exports = { arrayOk: true, description: 'Sets the text font.' }), + tooltip: {values: extendFlat({}, annotationAttrs), + valType: 'any', + description: 'Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.', + editType: 'calc' + }, + tooltiptemplate: tooltiptemplateAttrs({}, { + keys: constants.eventDataKeys + }), zorder: { valType: 'integer', dflt: 0, diff --git a/src/traces/scatter/defaults.js b/src/traces/scatter/defaults.js index de63b81e49e..5425ee080c5 100644 --- a/src/traces/scatter/defaults.js +++ b/src/traces/scatter/defaults.js @@ -46,6 +46,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('hovertext'); coerce('mode', defaultMode); + coerce('tooltip'); + coerce('tooltiptemplate'); + if(subTypes.hasMarkers(traceOut)) { handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {gradient: true}); } diff --git a/src/traces/scattercarpet/attributes.js b/src/traces/scattercarpet/attributes.js index 33cad08035b..fe68476dc91 100644 --- a/src/traces/scattercarpet/attributes.js +++ b/src/traces/scattercarpet/attributes.js @@ -4,6 +4,7 @@ var makeFillcolorAttr = require('../scatter/fillcolor_attribute'); var scatterAttrs = require('../scatter/attributes'); var baseAttrs = require('../../plots/attributes'); var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; var texttemplateAttrs = require('../../plots/template_attributes').texttemplateAttrs; var colorScaleAttrs = require('../../components/colorscale/attributes'); @@ -119,5 +120,9 @@ module.exports = { }), hoveron: scatterAttrs.hoveron, hovertemplate: hovertemplateAttrs(), + tooltip: scatterAttrs.tooltip, + tooltiptemplate: extendFlat({}, tooltiptemplateAttrs({}, { + flags: ['a', 'b', 'text', 'name'] + }), {dflt: 'a: %{a}
b: %{b}
y: %{y}'}), zorder: scatterAttrs.zorder }; diff --git a/src/traces/scattercarpet/defaults.js b/src/traces/scattercarpet/defaults.js index f1234ea192f..a2981a124b1 100644 --- a/src/traces/scattercarpet/defaults.js +++ b/src/traces/scattercarpet/defaults.js @@ -38,6 +38,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('texttemplate'); coerce('hovertext'); + coerce('tooltip'); + coerce('tooltiptemplate'); + var defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines'; coerce('mode', defaultMode); diff --git a/src/traces/scattergl/attributes.js b/src/traces/scattergl/attributes.js index 39312dfbd40..ac10c5d2a3a 100644 --- a/src/traces/scattergl/attributes.js +++ b/src/traces/scattergl/attributes.js @@ -35,6 +35,8 @@ var attrs = module.exports = overrideAll({ text: scatterAttrs.text, hovertext: scatterAttrs.hovertext, + tooltip: scatterAttrs.tooltip, + tooltiptemplate: scatterAttrs.tooltiptemplate, textposition: scatterAttrs.textposition, textfont: fontAttrs({ @@ -112,3 +114,5 @@ var attrs = module.exports = overrideAll({ attrs.x.editType = attrs.y.editType = attrs.x0.editType = attrs.y0.editType = 'calc+clearAxisTypes'; attrs.hovertemplate = scatterAttrs.hovertemplate; attrs.texttemplate = scatterAttrs.texttemplate; +attrs.tooltip = scatterAttrs.tooltip; +attrs.tooltiptemplate = scatterAttrs.tooltiptemplate; diff --git a/src/traces/scattergl/defaults.js b/src/traces/scattergl/defaults.js index bcb4e79edc0..ec0fd4bea38 100644 --- a/src/traces/scattergl/defaults.js +++ b/src/traces/scattergl/defaults.js @@ -39,6 +39,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('hovertemplate'); coerce('mode', defaultMode); + coerce('tooltip'); + coerce('tooltiptemplate'); + if(subTypes.hasMarkers(traceOut)) { handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {noAngleRef: true, noStandOff: true}); coerce('marker.line.width', isOpen || isBubble ? 1 : 0); diff --git a/src/traces/splom/attributes.js b/src/traces/splom/attributes.js index 0c1c09b8457..074d2531c8d 100644 --- a/src/traces/splom/attributes.js +++ b/src/traces/splom/attributes.js @@ -4,6 +4,8 @@ var scatterAttrs = require('../scatter/attributes'); var colorScaleAttrs = require('../../components/colorscale/attributes'); var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; +var annotationAttrs = require('../../components/annotations/attributes'); var scatterGlAttrs = require('../scattergl/attributes'); var cartesianIdRegex = require('../../plots/cartesian/constants').idRegex; var templatedArray = require('../../plot_api/plot_template').templatedArray; @@ -131,6 +133,12 @@ module.exports = { }), hovertemplate: hovertemplateAttrs(), + tooltip: {values: extendFlat({}, annotationAttrs), + valType: 'any', + description: 'Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.', + editType: 'calc' + }, + tooltiptemplate: tooltiptemplateAttrs(), xhoverformat: axisHoverFormat('x'), yhoverformat: axisHoverFormat('y'), diff --git a/src/traces/splom/defaults.js b/src/traces/splom/defaults.js index 72cb247733a..d953bdf81a1 100644 --- a/src/traces/splom/defaults.js +++ b/src/traces/splom/defaults.js @@ -36,6 +36,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout coerce('xhoverformat'); coerce('yhoverformat'); + coerce('tooltip'); + coerce('tooltiptemplate'); + handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {noAngleRef: true, noStandOff: true}); var isOpen = isOpenSymbol(traceOut.marker.symbol); diff --git a/src/traces/violin/attributes.js b/src/traces/violin/attributes.js index ca1eecd2500..13bfcd13460 100644 --- a/src/traces/violin/attributes.js +++ b/src/traces/violin/attributes.js @@ -255,5 +255,7 @@ module.exports = { 'or sample points or the kernel density estimate or any combination of them?' ].join(' ') }, + tooltip: boxAttrs.tooltip, + tooltiptemplate: boxAttrs.tooltiptemplate, zorder: boxAttrs.zorder }; diff --git a/src/traces/violin/defaults.js b/src/traces/violin/defaults.js index fd60511bf9b..eff1ff016b4 100644 --- a/src/traces/violin/defaults.js +++ b/src/traces/violin/defaults.js @@ -49,6 +49,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout var meanLineVisible = coerce('meanline.visible', Boolean(meanLineColor || meanLineWidth)); if(!meanLineVisible) traceOut.meanline = {visible: false}; + coerce('tooltip'); + coerce('tooltiptemplate'); + coerce('quartilemethod'); coerce('zorder'); }; diff --git a/src/traces/waterfall/attributes.js b/src/traces/waterfall/attributes.js index afd5e9f29ad..8c10b9b58c3 100644 --- a/src/traces/waterfall/attributes.js +++ b/src/traces/waterfall/attributes.js @@ -5,6 +5,7 @@ var lineAttrs = require('../scatter/attributes').line; var baseAttrs = require('../../plots/attributes'); var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat; var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs; +var tooltiptemplateAttrs = require('../../plots/template_attributes').tooltiptemplateAttrs; var texttemplateAttrs = require('../../plots/template_attributes').texttemplateAttrs; var constants = require('./constants'); var extendFlat = require('../../lib/extend').extendFlat; @@ -86,6 +87,11 @@ module.exports = { flags: ['name', 'x', 'y', 'text', 'initial', 'delta', 'final'] }), + tooltip: barAttrs.tooltip, + tooltiptemplate: extendFlat({}, tooltiptemplateAttrs({}, { + keys: constants.eventDataKeys + }), {dflt: 'initial: %{initial}
delta: %{delta}
final: %{final}'}), + textinfo: { valType: 'flaglist', flags: ['label', 'text', 'initial', 'delta', 'final'], diff --git a/src/traces/waterfall/defaults.js b/src/traces/waterfall/defaults.js index 3df93af6f5d..177db4ab90c 100644 --- a/src/traces/waterfall/defaults.js +++ b/src/traces/waterfall/defaults.js @@ -47,6 +47,9 @@ function supplyDefaults(traceIn, traceOut, defaultColor, layout) { coerce('hovertext'); coerce('hovertemplate'); + coerce('tooltip'); + coerce('tooltiptemplate'); + var textposition = coerce('textposition'); handleText(traceIn, traceOut, layout, coerce, textposition, { moduleHasSelected: false, diff --git a/tasks/test_mock.mjs b/tasks/test_mock.mjs index ae9bef8fcdd..525b159f5ae 100644 --- a/tasks/test_mock.mjs +++ b/tasks/test_mock.mjs @@ -227,6 +227,8 @@ function notBlackListed(name) { 'texttemplate', 'texttemplate_scatter', 'titles-avoid-labels', + 'tooltip_candlestick_double-y-axis', + 'tooltip_gl2d_pointcloud-basic', 'trace_metatext', 'updatemenus', 'violin_non-linear', diff --git a/test/image/baselines/tooltip_box_grouped-multicategory.png b/test/image/baselines/tooltip_box_grouped-multicategory.png new file mode 100644 index 00000000000..590910b5ec7 Binary files /dev/null and b/test/image/baselines/tooltip_box_grouped-multicategory.png differ diff --git a/test/image/baselines/tooltip_candlestick_double-y-axis.png b/test/image/baselines/tooltip_candlestick_double-y-axis.png new file mode 100644 index 00000000000..64c125658a2 Binary files /dev/null and b/test/image/baselines/tooltip_candlestick_double-y-axis.png differ diff --git a/test/image/baselines/tooltip_funnel_horizontal_group_basic.png b/test/image/baselines/tooltip_funnel_horizontal_group_basic.png new file mode 100644 index 00000000000..4e1376720bc Binary files /dev/null and b/test/image/baselines/tooltip_funnel_horizontal_group_basic.png differ diff --git a/test/image/baselines/tooltip_gl2d_scattergl_simple_line_reversed_ranges.png b/test/image/baselines/tooltip_gl2d_scattergl_simple_line_reversed_ranges.png new file mode 100644 index 00000000000..08a6f385ffe Binary files /dev/null and b/test/image/baselines/tooltip_gl2d_scattergl_simple_line_reversed_ranges.png differ diff --git a/test/image/baselines/tooltip_heatmap.png b/test/image/baselines/tooltip_heatmap.png new file mode 100644 index 00000000000..63f42b21260 Binary files /dev/null and b/test/image/baselines/tooltip_heatmap.png differ diff --git a/test/image/baselines/tooltip_heatmap_shared_categories.png b/test/image/baselines/tooltip_heatmap_shared_categories.png new file mode 100644 index 00000000000..4e19597cd28 Binary files /dev/null and b/test/image/baselines/tooltip_heatmap_shared_categories.png differ diff --git a/test/image/baselines/tooltip_histogram.png b/test/image/baselines/tooltip_histogram.png new file mode 100644 index 00000000000..a2986aea231 Binary files /dev/null and b/test/image/baselines/tooltip_histogram.png differ diff --git a/test/image/baselines/tooltip_histogram2d.png b/test/image/baselines/tooltip_histogram2d.png new file mode 100644 index 00000000000..a1310defc78 Binary files /dev/null and b/test/image/baselines/tooltip_histogram2d.png differ diff --git a/test/image/baselines/tooltip_histogram2dcontour_legend-coloraxis.png b/test/image/baselines/tooltip_histogram2dcontour_legend-coloraxis.png new file mode 100644 index 00000000000..760657620fd Binary files /dev/null and b/test/image/baselines/tooltip_histogram2dcontour_legend-coloraxis.png differ diff --git a/test/image/baselines/tooltip_histogram_horizontal.png b/test/image/baselines/tooltip_histogram_horizontal.png new file mode 100644 index 00000000000..aa6361739ff Binary files /dev/null and b/test/image/baselines/tooltip_histogram_horizontal.png differ diff --git a/test/image/baselines/tooltip_histogram_subplots.png b/test/image/baselines/tooltip_histogram_subplots.png new file mode 100644 index 00000000000..e6cfdbe05f1 Binary files /dev/null and b/test/image/baselines/tooltip_histogram_subplots.png differ diff --git a/test/image/baselines/tooltip_log_scatter.png b/test/image/baselines/tooltip_log_scatter.png new file mode 100644 index 00000000000..bf4c32d58c9 Binary files /dev/null and b/test/image/baselines/tooltip_log_scatter.png differ diff --git a/test/image/baselines/tooltip_multiple_subplots.png b/test/image/baselines/tooltip_multiple_subplots.png new file mode 100644 index 00000000000..62b5b225b67 Binary files /dev/null and b/test/image/baselines/tooltip_multiple_subplots.png differ diff --git a/test/image/baselines/tooltip_ohlc.png b/test/image/baselines/tooltip_ohlc.png new file mode 100644 index 00000000000..4516bbdf9c9 Binary files /dev/null and b/test/image/baselines/tooltip_ohlc.png differ diff --git a/test/image/baselines/tooltip_scatter.png b/test/image/baselines/tooltip_scatter.png new file mode 100644 index 00000000000..b4864e0fcdc Binary files /dev/null and b/test/image/baselines/tooltip_scatter.png differ diff --git a/test/image/baselines/tooltip_scattercarpet-on-two-carpets.png b/test/image/baselines/tooltip_scattercarpet-on-two-carpets.png new file mode 100644 index 00000000000..c86c3857cb9 Binary files /dev/null and b/test/image/baselines/tooltip_scattercarpet-on-two-carpets.png differ diff --git a/test/image/baselines/tooltip_simple_contour.png b/test/image/baselines/tooltip_simple_contour.png new file mode 100644 index 00000000000..a0003eedec5 Binary files /dev/null and b/test/image/baselines/tooltip_simple_contour.png differ diff --git a/test/image/baselines/tooltip_splom.png b/test/image/baselines/tooltip_splom.png new file mode 100644 index 00000000000..8858dfca29f Binary files /dev/null and b/test/image/baselines/tooltip_splom.png differ diff --git a/test/image/baselines/tooltip_stacked_area.png b/test/image/baselines/tooltip_stacked_area.png new file mode 100644 index 00000000000..c5ec28de2a1 Binary files /dev/null and b/test/image/baselines/tooltip_stacked_area.png differ diff --git a/test/image/baselines/tooltip_stacked_area_duplicates.png b/test/image/baselines/tooltip_stacked_area_duplicates.png new file mode 100644 index 00000000000..24d3b8c69d4 Binary files /dev/null and b/test/image/baselines/tooltip_stacked_area_duplicates.png differ diff --git a/test/image/baselines/tooltip_stacked_area_horz.png b/test/image/baselines/tooltip_stacked_area_horz.png new file mode 100644 index 00000000000..133f8ccc29d Binary files /dev/null and b/test/image/baselines/tooltip_stacked_area_horz.png differ diff --git a/test/image/baselines/tooltip_stacked_area_string.png b/test/image/baselines/tooltip_stacked_area_string.png new file mode 100644 index 00000000000..8df56ad6cd9 Binary files /dev/null and b/test/image/baselines/tooltip_stacked_area_string.png differ diff --git a/test/image/baselines/tooltip_stacked_bar.png b/test/image/baselines/tooltip_stacked_bar.png new file mode 100644 index 00000000000..d45f4df8f3d Binary files /dev/null and b/test/image/baselines/tooltip_stacked_bar.png differ diff --git a/test/image/baselines/tooltip_template_heatmap.png b/test/image/baselines/tooltip_template_heatmap.png new file mode 100644 index 00000000000..63f42b21260 Binary files /dev/null and b/test/image/baselines/tooltip_template_heatmap.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_bar-grouping-vs-defaults.png b/test/image/baselines/tooltip_tooltiptemplate_bar-grouping-vs-defaults.png new file mode 100644 index 00000000000..0962f5d34c1 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_bar-grouping-vs-defaults.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_bar_stack-with-gaps.png b/test/image/baselines/tooltip_tooltiptemplate_bar_stack-with-gaps.png new file mode 100644 index 00000000000..4eaf572e4ff Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_bar_stack-with-gaps.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_box_grouped-multicategory.png b/test/image/baselines/tooltip_tooltiptemplate_box_grouped-multicategory.png new file mode 100644 index 00000000000..590910b5ec7 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_box_grouped-multicategory.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_funnel_horizontal_group_basic.png b/test/image/baselines/tooltip_tooltiptemplate_funnel_horizontal_group_basic.png new file mode 100644 index 00000000000..4e1376720bc Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_funnel_horizontal_group_basic.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_gl2d_scattergl_simple_line_reversed_ranges.png b/test/image/baselines/tooltip_tooltiptemplate_gl2d_scattergl_simple_line_reversed_ranges.png new file mode 100644 index 00000000000..08a6f385ffe Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_gl2d_scattergl_simple_line_reversed_ranges.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_heatmap.png b/test/image/baselines/tooltip_tooltiptemplate_heatmap.png new file mode 100644 index 00000000000..63f42b21260 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_heatmap.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_histogram.png b/test/image/baselines/tooltip_tooltiptemplate_histogram.png new file mode 100644 index 00000000000..a2986aea231 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_histogram.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_histogram2d.png b/test/image/baselines/tooltip_tooltiptemplate_histogram2d.png new file mode 100644 index 00000000000..a1310defc78 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_histogram2d.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_histogram2dcontour_legend-coloraxis.png b/test/image/baselines/tooltip_tooltiptemplate_histogram2dcontour_legend-coloraxis.png new file mode 100644 index 00000000000..760657620fd Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_histogram2dcontour_legend-coloraxis.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_histogram_horizontal.png b/test/image/baselines/tooltip_tooltiptemplate_histogram_horizontal.png new file mode 100644 index 00000000000..aa6361739ff Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_histogram_horizontal.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_ohlc.png b/test/image/baselines/tooltip_tooltiptemplate_ohlc.png new file mode 100644 index 00000000000..636fc415c68 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_ohlc.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_scatter.png b/test/image/baselines/tooltip_tooltiptemplate_scatter.png new file mode 100644 index 00000000000..b4864e0fcdc Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_scatter.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_scattercarpet-on-two-carpets.png b/test/image/baselines/tooltip_tooltiptemplate_scattercarpet-on-two-carpets.png new file mode 100644 index 00000000000..c86c3857cb9 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_scattercarpet-on-two-carpets.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_simple_contour.png b/test/image/baselines/tooltip_tooltiptemplate_simple_contour.png new file mode 100644 index 00000000000..a0003eedec5 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_simple_contour.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_splom.png b/test/image/baselines/tooltip_tooltiptemplate_splom.png new file mode 100644 index 00000000000..8858dfca29f Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_splom.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_stacked_area.png b/test/image/baselines/tooltip_tooltiptemplate_stacked_area.png new file mode 100644 index 00000000000..c5ec28de2a1 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_stacked_area.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_violin_grouped.png b/test/image/baselines/tooltip_tooltiptemplate_violin_grouped.png new file mode 100644 index 00000000000..53a0c04842b Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_violin_grouped.png differ diff --git a/test/image/baselines/tooltip_tooltiptemplate_waterfall-grouping-vs-defaults.png b/test/image/baselines/tooltip_tooltiptemplate_waterfall-grouping-vs-defaults.png new file mode 100644 index 00000000000..66efe89f625 Binary files /dev/null and b/test/image/baselines/tooltip_tooltiptemplate_waterfall-grouping-vs-defaults.png differ diff --git a/test/image/baselines/tooltip_violin_grouped.png b/test/image/baselines/tooltip_violin_grouped.png new file mode 100644 index 00000000000..53a0c04842b Binary files /dev/null and b/test/image/baselines/tooltip_violin_grouped.png differ diff --git a/test/image/baselines/tooltip_waterfall-grouping-vs-defaults.png b/test/image/baselines/tooltip_waterfall-grouping-vs-defaults.png new file mode 100644 index 00000000000..66efe89f625 Binary files /dev/null and b/test/image/baselines/tooltip_waterfall-grouping-vs-defaults.png differ diff --git a/test/image/baselines/tooltip_waterfall_axis.png b/test/image/baselines/tooltip_waterfall_axis.png new file mode 100644 index 00000000000..34d0c9f7adf Binary files /dev/null and b/test/image/baselines/tooltip_waterfall_axis.png differ diff --git a/test/image/mocks/tooltip_box_grouped-multicategory.json b/test/image/mocks/tooltip_box_grouped-multicategory.json new file mode 100644 index 00000000000..7f6147643b8 --- /dev/null +++ b/test/image/mocks/tooltip_box_grouped-multicategory.json @@ -0,0 +1,111 @@ +{ + "data":[ + { + "y":[ + 0.2, 0.2, 0.6, 1, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3, + 0.6, 0.7, 0.3, 0.6, 0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2, + 0.2, 0.2, 0.6, 1, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3 + ], + "x":[ + ["2016", "2016", "2016", "2016", "2016", "2016", + "2016", "2016", "2016", "2016", "2016", "2016", + "2017", "2017", "2017", "2017", "2017", "2017", + "2017", "2017", "2017", "2017", "2017", "2017", + "2018", "2018", "2018", "2018", "2018", "2018", + "2018", "2018", "2018", "2018", "2018", "2018"], + + ["day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2"] + ], + "name":"kale", + "marker":{ + "color":"#3D9970" + }, + "type":"box" + }, + { + "y":[ + 0.6, 0.7, 0.3, 0.6, 0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2, + 0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1, 0.3, 0.6, 0.8, 0.5, + 0.6, 0.7, 0.3, 0.6, 0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2 + ], + "x":[ + ["2016", "2016", "2016", "2016", "2016", "2016", + "2016", "2016", "2016", "2016", "2016", "2016", + "2017", "2017", "2017", "2017", "2017", "2017", + "2017", "2017", "2017", "2017", "2017", "2017", + "2018", "2018", "2018", "2018", "2018", "2018", + "2018", "2018", "2018", "2018", "2018", "2018"], + + ["day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2"] + ], + "name":"radishes", + "marker":{ + "color":"#FF4136" + }, + "type":"box" + }, + { + "y":[ + 0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1, 0.3, 0.6, 0.8, 0.5, + 0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1, 0.3, 0.6, 0.8, 0.5, + 0.2, 0.2, 0.6, 1, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3 + ], + "x":[ + ["2016", "2016", "2016", "2016", "2016", "2016", + "2016", "2016", "2016", "2016", "2016", "2016", + "2017", "2017", "2017", "2017", "2017", "2017", + "2017", "2017", "2017", "2017", "2017", "2017", + "2018", "2018", "2018", "2018", "2018", "2018", + "2018", "2018", "2018", "2018", "2018", "2018"], + + ["day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2"] + ], + "name":"carrots", + "marker":{ + "color":"#FF851B" + }, + "type":"box" + } + ], + "layout":{ + "xaxis": { + "tickangle": 90 + }, + "yaxis":{ + "zeroline":false, + "title":{"text":"normalized moisture"} + }, + "boxmode":"group", + "legend": { + "x": 0, + "y": 1, + "yanchor": "bottom" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_candlestick_double-y-axis.json b/test/image/mocks/tooltip_candlestick_double-y-axis.json new file mode 100644 index 00000000000..d7b92a8dec1 --- /dev/null +++ b/test/image/mocks/tooltip_candlestick_double-y-axis.json @@ -0,0 +1,1984 @@ +{ + "data": [ + { + "type": "candlestick", + "name": "ABC", + "x": [ + "2016-09-30", + "2016-09-29", + "2016-09-28", + "2016-09-27", + "2016-09-26", + "2016-09-23", + "2016-09-22", + "2016-09-21", + "2016-09-20", + "2016-09-19", + "2016-09-16", + "2016-09-15", + "2016-09-14", + "2016-09-13", + "2016-09-12", + "2016-09-09", + "2016-09-08", + "2016-09-07", + "2016-09-06", + "2016-09-02", + "2016-09-01", + "2016-08-31", + "2016-08-30", + "2016-08-29", + "2016-08-26", + "2016-08-25", + "2016-08-24", + "2016-08-23", + "2016-08-22", + "2016-08-19", + "2016-08-18", + "2016-08-17", + "2016-08-16", + "2016-08-15", + "2016-08-12", + "2016-08-11", + "2016-08-10", + "2016-08-09", + "2016-08-08", + "2016-08-05", + "2016-08-04", + "2016-08-03", + "2016-08-02", + "2016-08-01", + "2016-07-29", + "2016-07-28", + "2016-07-27", + "2016-07-26", + "2016-07-25", + "2016-07-22", + "2016-07-21", + "2016-07-20", + "2016-07-19", + "2016-07-18", + "2016-07-15", + "2016-07-14", + "2016-07-13", + "2016-07-12", + "2016-07-11", + "2016-07-08", + "2016-07-07", + "2016-07-06", + "2016-07-05", + "2016-07-01", + "2016-06-30", + "2016-06-29", + "2016-06-28", + "2016-06-27", + "2016-06-24", + "2016-06-23", + "2016-06-22", + "2016-06-21", + "2016-06-20", + "2016-06-17", + "2016-06-16", + "2016-06-15", + "2016-06-14", + "2016-06-13", + "2016-06-10", + "2016-06-09", + "2016-06-08", + "2016-06-07", + "2016-06-06", + "2016-06-03", + "2016-06-02", + "2016-06-01", + "2016-05-31", + "2016-05-27", + "2016-05-26", + "2016-05-25", + "2016-05-24", + "2016-05-23", + "2016-05-20", + "2016-05-19", + "2016-05-18", + "2016-05-17", + "2016-05-16", + "2016-05-13", + "2016-05-12", + "2016-05-11", + "2016-05-10", + "2016-05-09", + "2016-05-06", + "2016-05-05", + "2016-05-04", + "2016-05-03", + "2016-05-02", + "2016-04-29", + "2016-04-28", + "2016-04-27", + "2016-04-26", + "2016-04-25", + "2016-04-22", + "2016-04-21", + "2016-04-20", + "2016-04-19", + "2016-04-18", + "2016-04-15", + "2016-04-14", + "2016-04-13", + "2016-04-12", + "2016-04-11", + "2016-04-08", + "2016-04-07", + "2016-04-06", + "2016-04-05", + "2016-04-04", + "2016-04-01", + "2016-03-31", + "2016-03-30", + "2016-03-29", + "2016-03-28", + "2016-03-24", + "2016-03-23", + "2016-03-22", + "2016-03-21", + "2016-03-18", + "2016-03-17", + "2016-03-16", + "2016-03-15", + "2016-03-14", + "2016-03-11", + "2016-03-10", + "2016-03-09", + "2016-03-08", + "2016-03-07", + "2016-03-04", + "2016-03-03", + "2016-03-02", + "2016-03-01", + "2016-02-29", + "2016-02-26", + "2016-02-25", + "2016-02-24", + "2016-02-23", + "2016-02-22", + "2016-02-19", + "2016-02-18", + "2016-02-17", + "2016-02-16", + "2016-02-12", + "2016-02-11", + "2016-02-10", + "2016-02-09", + "2016-02-08", + "2016-02-05", + "2016-02-04", + "2016-02-03", + "2016-02-02", + "2016-02-01", + "2016-01-29", + "2016-01-28", + "2016-01-27", + "2016-01-26", + "2016-01-25", + "2016-01-22", + "2016-01-21", + "2016-01-20", + "2016-01-19", + "2016-01-15", + "2016-01-14", + "2016-01-13", + "2016-01-12", + "2016-01-11", + "2016-01-08", + "2016-01-07", + "2016-01-06", + "2016-01-05", + "2016-01-04" + ], + "open": [ + "776.330017", + "781.440002", + "777.849976", + "775.50", + "782.73999", + "786.590027", + "780.00", + "772.659973", + "769.00", + "772.419983", + "769.75", + "762.890015", + "759.609985", + "764.47998", + "755.130005", + "770.099976", + "778.590027", + "780.00", + "773.450012", + "773.01001", + "769.25", + "767.01001", + "769.330017", + "768.73999", + "769.00", + "767.00", + "770.580017", + "775.47998", + "773.27002", + "775.00", + "780.01001", + "777.320007", + "780.299988", + "783.75", + "781.50", + "785.00", + "783.75", + "781.099976", + "782.00", + "773.780029", + "772.219971", + "767.179993", + "768.690002", + "761.090027", + "772.710022", + "747.039978", + "738.280029", + "739.039978", + "740.669983", + "741.859985", + "740.359985", + "737.330017", + "729.890015", + "722.710022", + "725.72998", + "721.580017", + "723.619995", + "719.119995", + "708.049988", + "699.50", + "698.080017", + "689.97998", + "696.059998", + "692.200012", + "685.469971", + "683.00", + "678.969971", + "671.00", + "675.169983", + "697.450012", + "699.059998", + "698.400024", + "698.77002", + "708.650024", + "714.909973", + "719.00", + "716.47998", + "716.51001", + "719.469971", + "722.869995", + "723.960022", + "719.840027", + "724.909973", + "729.27002", + "732.50", + "734.530029", + "731.73999", + "724.01001", + "722.869995", + "720.76001", + "706.859985", + "706.530029", + "701.619995", + "702.359985", + "703.669983", + "715.98999", + "709.130005", + "711.929993", + "717.059998", + "723.409973", + "716.75", + "712.00", + "698.380005", + "697.700012", + "690.48999", + "696.869995", + "697.630005", + "690.700012", + "708.26001", + "707.289978", + "725.419983", + "716.099976", + "726.299988", + "755.380005", + "758.00", + "769.51001", + "760.460022", + "753.97998", + "754.01001", + "749.159973", + "738.00", + "743.02002", + "743.969971", + "745.369995", + "735.77002", + "738.00", + "750.059998", + "738.599976", + "749.25", + "750.099976", + "734.590027", + "736.789978", + "732.01001", + "742.359985", + "737.460022", + "736.50", + "741.859985", + "736.450012", + "726.369995", + "726.919983", + "726.809998", + "720.00", + "708.119995", + "698.469971", + "688.590027", + "706.900024", + "714.98999", + "718.679993", + "719.00", + "703.619995", + "700.320007", + "708.580017", + "700.01001", + "688.919983", + "701.450012", + "707.450012", + "695.030029", + "710.00", + "698.090027", + "692.97998", + "690.26001", + "675.00", + "686.859985", + "672.320007", + "667.849976", + "703.869995", + "722.809998", + "770.219971", + "784.50", + "750.460022", + "731.530029", + "722.219971", + "713.669983", + "713.849976", + "723.580017", + "723.599976", + "702.179993", + "688.609985", + "703.299988", + "692.289978", + "705.380005", + "730.849976", + "721.679993", + "716.609985", + "731.450012", + "730.309998", + "730.00", + "746.450012", + "743.00" + ], + "high": [ + "780.940002", + "785.799988", + "781.809998", + "785.98999", + "782.73999", + "788.929993", + "789.849976", + "777.159973", + "773.330017", + "774.00", + "769.75", + "773.799988", + "767.679993", + "766.219971", + "770.289978", + "773.244995", + "780.349976", + "782.72998", + "782.00", + "773.919983", + "771.02002", + "769.090027", + "774.466003", + "774.98999", + "776.080017", + "771.890015", + "774.50", + "776.440002", + "774.539978", + "777.099976", + "782.859985", + "780.809998", + "780.97998", + "787.48999", + "783.39502", + "789.75", + "786.812012", + "788.940002", + "782.630005", + "783.039978", + "774.070007", + "773.210022", + "775.840027", + "780.429993", + "778.549988", + "748.650024", + "744.460022", + "741.690002", + "742.609985", + "743.23999", + "741.690002", + "742.130005", + "736.98999", + "736.130005", + "725.73999", + "722.210022", + "724.00", + "722.940002", + "716.51001", + "705.710022", + "698.200012", + "701.679993", + "696.940002", + "700.650024", + "692.320007", + "687.429016", + "680.330017", + "672.299988", + "689.400024", + "701.950012", + "700.859985", + "702.77002", + "702.47998", + "708.820007", + "716.650024", + "722.97998", + "722.469971", + "725.440002", + "725.890015", + "729.539978", + "728.570007", + "721.97998", + "724.909973", + "729.48999", + "733.02002", + "737.210022", + "739.72998", + "733.935974", + "728.330017", + "727.51001", + "720.969971", + "711.478027", + "714.580017", + "706.00", + "711.599976", + "721.52002", + "718.47998", + "716.661987", + "719.25", + "724.47998", + "723.50", + "718.710022", + "711.859985", + "702.320007", + "699.75", + "697.840027", + "700.640015", + "697.619995", + "714.169983", + "708.97998", + "725.765991", + "723.929993", + "736.119995", + "760.450012", + "758.132019", + "769.900024", + "768.049988", + "761.00", + "757.309998", + "754.380005", + "743.830017", + "745.00", + "745.450012", + "747.00", + "746.23999", + "742.799988", + "752.799988", + "750.340027", + "750.849976", + "757.880005", + "747.25", + "738.98999", + "737.747009", + "745.719971", + "745.00", + "742.50", + "742.00", + "743.070007", + "737.469971", + "732.289978", + "735.50", + "726.919983", + "716.440002", + "705.679993", + "703.789978", + "708.091003", + "716.48999", + "719.450012", + "720.00", + "718.809998", + "710.890015", + "713.429993", + "705.97998", + "700.00", + "708.400024", + "713.23999", + "703.080994", + "712.349976", + "709.75", + "698.00", + "693.75", + "689.349976", + "701.309998", + "699.900024", + "684.030029", + "703.98999", + "727.00", + "774.50", + "789.869995", + "757.859985", + "744.98999", + "733.690002", + "718.234985", + "718.280029", + "729.679993", + "728.130005", + "719.190002", + "706.849976", + "709.97998", + "706.73999", + "721.924988", + "734.73999", + "728.75", + "718.85498", + "733.22998", + "738.50", + "747.179993", + "752.00", + "744.059998" + ], + "low": [ + "774.090027", + "774.231995", + "774.969971", + "774.307983", + "773.070007", + "784.150024", + "778.440002", + "768.301025", + "768.530029", + "764.440979", + "764.659973", + "759.960022", + "759.109985", + "755.799988", + "754.00", + "759.659973", + "773.580017", + "776.200012", + "771.00", + "768.409973", + "764.299988", + "765.380005", + "766.840027", + "766.61499", + "765.849976", + "763.184998", + "767.070007", + "771.784973", + "770.049988", + "773.130005", + "777.00", + "773.530029", + "773.44397", + "780.109985", + "780.400024", + "782.969971", + "782.778015", + "780.570007", + "778.091003", + "772.340027", + "768.794983", + "766.820007", + "767.849976", + "761.090027", + "766.77002", + "739.299988", + "737.00", + "734.27002", + "737.50", + "736.559998", + "735.830994", + "737.099976", + "729.00", + "721.190002", + "719.054993", + "718.030029", + "716.849976", + "715.909973", + "707.23999", + "696.434998", + "688.215027", + "689.090027", + "688.880005", + "692.130005", + "683.650024", + "681.409973", + "673.00", + "663.283997", + "673.450012", + "687.00", + "693.08197", + "692.01001", + "693.409973", + "688.452026", + "703.26001", + "717.309998", + "713.119995", + "716.51001", + "716.429993", + "722.335999", + "720.580017", + "716.549988", + "714.609985", + "720.559998", + "724.169983", + "730.659973", + "731.26001", + "724.00", + "720.280029", + "719.705017", + "706.859985", + "704.179993", + "700.52002", + "696.799988", + "700.630005", + "704.109985", + "705.650024", + "709.26001", + "709.00", + "712.799988", + "715.719971", + "710.00", + "698.106995", + "695.719971", + "689.01001", + "692.00", + "691.00", + "689.00", + "689.549988", + "692.36499", + "703.026001", + "715.590027", + "713.609985", + "749.549988", + "750.01001", + "749.330017", + "757.299988", + "752.69397", + "752.705017", + "744.260986", + "731.01001", + "736.049988", + "735.549988", + "736.280029", + "735.559998", + "735.369995", + "742.429993", + "737.00", + "740.940002", + "748.73999", + "728.76001", + "732.50", + "731.00", + "736.150024", + "737.460022", + "733.515991", + "731.830017", + "736.00", + "724.51001", + "724.77002", + "725.150024", + "717.125", + "703.359985", + "694.00", + "685.340027", + "686.900024", + "706.02002", + "706.02002", + "712.00", + "699.77002", + "697.679993", + "700.859985", + "690.585022", + "680.780029", + "693.580017", + "702.51001", + "694.049988", + "696.030029", + "691.380005", + "685.049988", + "678.599976", + "668.867981", + "682.130005", + "668.77002", + "663.059998", + "680.150024", + "701.859985", + "720.50", + "764.650024", + "743.27002", + "726.799988", + "712.349976", + "694.390015", + "706.47998", + "710.01001", + "720.120972", + "694.460022", + "673.26001", + "693.409973", + "685.369995", + "689.099976", + "698.609985", + "717.317017", + "703.539978", + "713.00", + "719.059998", + "728.919983", + "738.640015", + "731.257996" + ], + "close": [ + "777.289978", + "775.01001", + "781.559998", + "783.01001", + "774.210022", + "786.900024", + "787.210022", + "776.219971", + "771.409973", + "765.700012", + "768.880005", + "771.76001", + "762.48999", + "759.690002", + "769.02002", + "759.659973", + "775.320007", + "780.349976", + "780.080017", + "771.460022", + "768.780029", + "767.049988", + "769.090027", + "772.150024", + "769.539978", + "769.409973", + "769.640015", + "772.080017", + "772.150024", + "775.419983", + "777.50", + "779.909973", + "777.140015", + "782.440002", + "783.219971", + "784.849976", + "784.679993", + "784.26001", + "781.76001", + "782.219971", + "771.609985", + "773.179993", + "771.070007", + "772.880005", + "768.789978", + "745.909973", + "741.77002", + "738.419983", + "739.77002", + "742.73999", + "738.630005", + "741.190002", + "736.960022", + "733.780029", + "719.849976", + "720.950012", + "716.97998", + "720.640015", + "715.090027", + "705.630005", + "695.359985", + "697.77002", + "694.950012", + "699.210022", + "692.099976", + "684.109985", + "680.039978", + "668.26001", + "675.219971", + "701.869995", + "697.460022", + "695.940002", + "693.710022", + "691.719971", + "710.359985", + "718.919983", + "718.27002", + "718.359985", + "719.409973", + "728.580017", + "728.280029", + "716.650024", + "716.549988", + "722.340027", + "730.400024", + "734.150024", + "735.719971", + "732.659973", + "724.119995", + "725.27002", + "720.090027", + "704.23999", + "709.73999", + "700.320007", + "706.630005", + "706.22998", + "716.48999", + "710.830017", + "713.309998", + "715.289978", + "723.179993", + "712.900024", + "711.119995", + "701.429993", + "695.700012", + "692.359985", + "698.210022", + "693.01001", + "691.02002", + "705.840027", + "708.140015", + "723.150024", + "718.77002", + "759.140015", + "752.669983", + "753.929993", + "766.609985", + "759.00", + "753.200012", + "751.719971", + "743.090027", + "736.099976", + "739.150024", + "740.280029", + "745.690002", + "737.799988", + "745.289978", + "749.909973", + "744.950012", + "750.530029", + "744.77002", + "733.530029", + "735.299988", + "738.059998", + "740.75", + "742.090027", + "737.599976", + "737.780029", + "736.090027", + "728.330017", + "730.48999", + "726.820007", + "712.820007", + "705.23999", + "693.969971", + "695.159973", + "710.890015", + "712.419983", + "718.849976", + "718.809998", + "697.77002", + "705.070007", + "705.75", + "699.559998", + "695.849976", + "706.460022", + "700.909973", + "697.349976", + "708.400024", + "691.00", + "682.400024", + "683.109985", + "684.119995", + "678.109985", + "682.73999", + "683.570007", + "708.01001", + "726.950012", + "764.650024", + "752.00", + "742.950012", + "730.960022", + "699.98999", + "713.039978", + "711.669983", + "725.25", + "706.590027", + "698.450012", + "701.789978", + "694.450012", + "714.719971", + "700.559998", + "726.070007", + "716.030029", + "714.469971", + "726.390015", + "743.619995", + "742.580017", + "741.840027" + ], + "increasing": { + "line": { + "color": "#4dac26" + }, + "name": "ABC" + }, + "decreasing": { + "line": { + "color": "#d01c8b" + }, + "showlegend": false + } + }, + { + "type": "candlestick", + "name": "XYZ", + "x": [ + "2016-09-30", + "2016-09-29", + "2016-09-28", + "2016-09-27", + "2016-09-26", + "2016-09-23", + "2016-09-22", + "2016-09-21", + "2016-09-20", + "2016-09-19", + "2016-09-16", + "2016-09-15", + "2016-09-14", + "2016-09-13", + "2016-09-12", + "2016-09-09", + "2016-09-08", + "2016-09-07", + "2016-09-06", + "2016-09-02", + "2016-09-01", + "2016-08-31", + "2016-08-30", + "2016-08-29", + "2016-08-26", + "2016-08-25", + "2016-08-24", + "2016-08-23", + "2016-08-22", + "2016-08-19", + "2016-08-18", + "2016-08-17", + "2016-08-16", + "2016-08-15", + "2016-08-12", + "2016-08-11", + "2016-08-10", + "2016-08-09", + "2016-08-08", + "2016-08-05", + "2016-08-04", + "2016-08-03", + "2016-08-02", + "2016-08-01", + "2016-07-29", + "2016-07-28", + "2016-07-27", + "2016-07-26", + "2016-07-25", + "2016-07-22", + "2016-07-21", + "2016-07-20", + "2016-07-19", + "2016-07-18", + "2016-07-15", + "2016-07-14", + "2016-07-13", + "2016-07-12", + "2016-07-11", + "2016-07-08", + "2016-07-07", + "2016-07-06", + "2016-07-05", + "2016-07-01", + "2016-06-30", + "2016-06-29", + "2016-06-28", + "2016-06-27", + "2016-06-24", + "2016-06-23", + "2016-06-22", + "2016-06-21", + "2016-06-20", + "2016-06-17", + "2016-06-16", + "2016-06-15", + "2016-06-14", + "2016-06-13", + "2016-06-10", + "2016-06-09", + "2016-06-08", + "2016-06-07", + "2016-06-06", + "2016-06-03", + "2016-06-02", + "2016-06-01", + "2016-05-31", + "2016-05-27", + "2016-05-26", + "2016-05-25", + "2016-05-24", + "2016-05-23", + "2016-05-20", + "2016-05-19", + "2016-05-18", + "2016-05-17", + "2016-05-16", + "2016-05-13", + "2016-05-12", + "2016-05-11", + "2016-05-10", + "2016-05-09", + "2016-05-06", + "2016-05-05", + "2016-05-04", + "2016-05-03", + "2016-05-02", + "2016-04-29", + "2016-04-28", + "2016-04-27", + "2016-04-26", + "2016-04-25", + "2016-04-22", + "2016-04-21", + "2016-04-20", + "2016-04-19", + "2016-04-18", + "2016-04-15", + "2016-04-14", + "2016-04-13", + "2016-04-12", + "2016-04-11", + "2016-04-08", + "2016-04-07", + "2016-04-06", + "2016-04-05", + "2016-04-04", + "2016-04-01", + "2016-03-31", + "2016-03-30", + "2016-03-29", + "2016-03-28", + "2016-03-24", + "2016-03-23", + "2016-03-22", + "2016-03-21", + "2016-03-18", + "2016-03-17", + "2016-03-16", + "2016-03-15", + "2016-03-14", + "2016-03-11", + "2016-03-10", + "2016-03-09", + "2016-03-08", + "2016-03-07", + "2016-03-04", + "2016-03-03", + "2016-03-02", + "2016-03-01", + "2016-02-29", + "2016-02-26", + "2016-02-25", + "2016-02-24", + "2016-02-23", + "2016-02-22", + "2016-02-19", + "2016-02-18", + "2016-02-17", + "2016-02-16", + "2016-02-12", + "2016-02-11", + "2016-02-10", + "2016-02-09", + "2016-02-08", + "2016-02-05", + "2016-02-04", + "2016-02-03", + "2016-02-02", + "2016-02-01", + "2016-01-29", + "2016-01-28", + "2016-01-27", + "2016-01-26", + "2016-01-25", + "2016-01-22", + "2016-01-21", + "2016-01-20", + "2016-01-19", + "2016-01-15", + "2016-01-14", + "2016-01-13", + "2016-01-12", + "2016-01-11", + "2016-01-08", + "2016-01-07", + "2016-01-06", + "2016-01-05", + "2016-01-04" + ], + "open": [ + "112.459999", + "113.160004", + "113.690002", + "113.00", + "111.639999", + "114.419998", + "114.349998", + "113.849998", + "113.050003", + "115.190002", + "115.120003", + "113.860001", + "108.730003", + "107.510002", + "102.650002", + "104.639999", + "107.25", + "107.830002", + "107.900002", + "107.699997", + "106.139999", + "105.660004", + "105.800003", + "106.620003", + "107.410004", + "107.389999", + "108.57", + "108.589996", + "108.860001", + "108.769997", + "109.230003", + "109.099998", + "109.629997", + "108.139999", + "107.779999", + "108.519997", + "108.709999", + "108.230003", + "107.519997", + "106.269997", + "105.580002", + "104.809998", + "106.050003", + "104.410004", + "104.190002", + "102.830002", + "104.269997", + "96.82", + "98.25", + "99.260002", + "99.830002", + "100.00", + "99.559998", + "98.699997", + "98.919998", + "97.389999", + "97.410004", + "97.169998", + "96.75", + "96.489998", + "95.699997", + "94.599998", + "95.389999", + "95.489998", + "94.440002", + "93.970001", + "92.900002", + "93.00", + "92.910004", + "95.940002", + "96.25", + "94.940002", + "96.00", + "96.620003", + "96.449997", + "97.82", + "97.32", + "98.690002", + "98.529999", + "98.50", + "99.019997", + "99.25", + "97.989998", + "97.790001", + "97.599998", + "99.019997", + "99.599998", + "99.440002", + "99.68", + "98.669998", + "97.220001", + "95.870003", + "94.639999", + "94.639999", + "94.160004", + "94.550003", + "92.389999", + "90.00", + "92.720001", + "93.480003", + "93.330002", + "93.00", + "93.370003", + "94.00", + "95.199997", + "94.199997", + "93.970001", + "93.989998", + "97.610001", + "96.00", + "103.910004", + "105.00", + "105.010002", + "106.93", + "106.639999", + "107.879997", + "108.889999", + "112.110001", + "111.620003", + "110.800003", + "109.339996", + "108.970001", + "108.910004", + "109.949997", + "110.230003", + "109.510002", + "110.419998", + "108.779999", + "109.720001", + "108.650002", + "104.889999", + "106.00", + "105.470001", + "106.480003", + "105.25", + "105.93", + "106.339996", + "105.519997", + "104.610001", + "103.959999", + "101.910004", + "102.239998", + "101.410004", + "101.309998", + "100.779999", + "102.389999", + "102.370003", + "100.580002", + "100.510002", + "97.650002", + "96.860001", + "97.199997", + "96.050003", + "93.980003", + "96.400002", + "96.309998", + "96.00", + "98.839996", + "96.669998", + "95.019997", + "94.190002", + "93.790001", + "95.919998", + "94.290001", + "93.129997", + "96.519997", + "95.860001", + "95.00", + "95.419998", + "96.470001", + "94.790001", + "93.790001", + "96.040001", + "99.93", + "101.519997", + "98.629997", + "97.059998", + "95.099998", + "98.410004", + "96.199997", + "97.959999", + "100.32", + "100.550003", + "98.970001", + "98.550003", + "98.68", + "100.559998", + "105.75", + "102.610001" + ], + "high": [ + "113.370003", + "113.800003", + "114.639999", + "113.18", + "113.389999", + "114.790001", + "114.940002", + "113.989998", + "114.120003", + "116.18", + "116.129997", + "115.730003", + "113.029999", + "108.790001", + "105.720001", + "105.720001", + "107.269997", + "108.760002", + "108.300003", + "108.00", + "106.800003", + "106.57", + "106.50", + "107.440002", + "107.949997", + "107.879997", + "108.75", + "109.32", + "109.099998", + "109.690002", + "109.599998", + "109.370003", + "110.230003", + "109.540001", + "108.440002", + "108.93", + "108.900002", + "108.940002", + "108.370003", + "107.650002", + "106.00", + "105.839996", + "106.07", + "106.150002", + "104.550003", + "104.449997", + "104.349998", + "97.970001", + "98.839996", + "99.300003", + "101.00", + "100.459999", + "100.00", + "100.129997", + "99.300003", + "98.989998", + "97.669998", + "97.699997", + "97.650002", + "96.889999", + "96.50", + "95.660004", + "95.400002", + "96.470001", + "95.769997", + "94.550003", + "93.660004", + "93.050003", + "94.660004", + "96.290001", + "96.889999", + "96.349998", + "96.57", + "96.650002", + "97.75", + "98.410004", + "98.480003", + "99.120003", + "99.349998", + "99.989998", + "99.559998", + "99.870003", + "101.889999", + "98.269997", + "97.839996", + "99.540001", + "100.400002", + "100.470001", + "100.730003", + "99.739998", + "98.089996", + "97.190002", + "95.43", + "94.639999", + "95.209999", + "94.699997", + "94.389999", + "91.669998", + "92.779999", + "93.57", + "93.57", + "93.769997", + "93.449997", + "94.07", + "95.900002", + "95.739998", + "94.080002", + "94.720001", + "97.879997", + "98.709999", + "105.300003", + "105.650002", + "106.480003", + "106.93", + "108.089996", + "108.00", + "108.949997", + "112.300003", + "112.389999", + "112.339996", + "110.50", + "110.610001", + "109.769997", + "110.419998", + "110.980003", + "110.730003", + "112.190002", + "110.00", + "109.900002", + "110.419998", + "107.790001", + "106.190002", + "106.25", + "107.07", + "107.290001", + "107.650002", + "106.50", + "106.470001", + "106.309998", + "105.18", + "102.910004", + "102.279999", + "102.239998", + "101.580002", + "101.760002", + "102.830002", + "103.75", + "101.709999", + "100.889999", + "100.769997", + "98.230003", + "98.019997", + "96.760002", + "96.379997", + "96.50", + "96.900002", + "96.760002", + "98.889999", + "98.209999", + "96.849998", + "94.50", + "94.720001", + "96.349998", + "95.940002", + "95.699997", + "96.919998", + "97.330002", + "96.839996", + "96.040001", + "96.709999", + "97.339996", + "94.519997", + "96.629997", + "100.879997", + "101.529999", + "101.459999", + "97.879997", + "98.190002", + "98.650002", + "97.709999", + "100.480003", + "101.190002", + "100.690002", + "99.059998", + "99.110001", + "100.129997", + "102.370003", + "105.849998", + "105.370003" + ], + "low": [ + "111.800003", + "111.800003", + "113.43", + "112.339996", + "111.550003", + "111.550003", + "114.00", + "112.440002", + "112.510002", + "113.25", + "114.040001", + "113.489998", + "108.599998", + "107.239998", + "102.529999", + "103.129997", + "105.239998", + "107.07", + "107.510002", + "106.82", + "105.620003", + "105.639999", + "105.50", + "106.290001", + "106.309998", + "106.68", + "107.68", + "108.529999", + "107.849998", + "108.360001", + "109.019997", + "108.339996", + "109.209999", + "108.080002", + "107.779999", + "107.849998", + "107.760002", + "108.010002", + "107.160004", + "106.18", + "105.279999", + "104.769997", + "104.00", + "104.410004", + "103.68", + "102.82", + "102.75", + "96.419998", + "96.919998", + "98.309998", + "99.129997", + "99.739998", + "99.339996", + "98.599998", + "98.50", + "97.32", + "96.839996", + "97.120003", + "96.730003", + "96.050003", + "95.620003", + "94.370003", + "94.459999", + "95.330002", + "94.300003", + "93.629997", + "92.139999", + "91.50", + "92.650002", + "95.25", + "95.349998", + "94.68", + "95.029999", + "95.300003", + "96.07", + "97.029999", + "96.75", + "97.099998", + "98.480003", + "98.459999", + "98.68", + "98.959999", + "97.550003", + "97.449997", + "96.629997", + "98.330002", + "98.82", + "99.25", + "98.639999", + "98.110001", + "96.839996", + "95.669998", + "94.519997", + "93.57", + "93.889999", + "93.010002", + "91.650002", + "90.00", + "89.470001", + "92.459999", + "92.110001", + "92.589996", + "91.849998", + "92.68", + "93.82", + "93.68", + "92.400002", + "92.510002", + "94.25", + "95.68", + "103.910004", + "104.510002", + "104.620003", + "105.519997", + "106.059998", + "106.230003", + "106.940002", + "109.730003", + "111.330002", + "110.800003", + "108.660004", + "108.830002", + "108.169998", + "108.120003", + "109.199997", + "109.419998", + "110.269997", + "108.199997", + "108.879997", + "108.599998", + "104.879997", + "105.059998", + "104.889999", + "105.900002", + "105.209999", + "105.139999", + "105.190002", + "104.959999", + "104.589996", + "103.849998", + "101.779999", + "101.50", + "100.150002", + "100.269997", + "100.400002", + "100.959999", + "101.370003", + "100.449997", + "99.639999", + "97.419998", + "96.650002", + "96.580002", + "95.25", + "93.32", + "94.550003", + "95.919998", + "95.800003", + "96.089996", + "96.150002", + "94.610001", + "93.010002", + "92.589996", + "94.099998", + "93.93", + "93.040001", + "93.690002", + "95.190002", + "94.080002", + "94.279999", + "95.400002", + "94.349998", + "92.389999", + "93.339996", + "98.07", + "99.209999", + "98.370003", + "94.940002", + "93.419998", + "95.50", + "95.360001", + "95.739998", + "97.300003", + "98.839996", + "97.339996", + "96.760002", + "96.43", + "99.870003", + "102.410004", + "102.00" + ], + "close": [ + "113.050003", + "112.18", + "113.949997", + "113.089996", + "112.879997", + "112.709999", + "114.620003", + "113.550003", + "113.57", + "113.580002", + "114.919998", + "115.57", + "111.769997", + "107.949997", + "105.440002", + "103.129997", + "105.519997", + "108.360001", + "107.699997", + "107.730003", + "106.730003", + "106.099998", + "106.00", + "106.82", + "106.940002", + "107.57", + "108.029999", + "108.849998", + "108.510002", + "109.360001", + "109.080002", + "109.220001", + "109.379997", + "109.480003", + "108.18", + "107.93", + "108.00", + "108.809998", + "108.370003", + "107.480003", + "105.870003", + "105.790001", + "104.480003", + "106.050003", + "104.209999", + "104.339996", + "102.949997", + "96.669998", + "97.339996", + "98.660004", + "99.43", + "99.959999", + "99.870003", + "99.830002", + "98.779999", + "98.790001", + "96.870003", + "97.419998", + "96.980003", + "96.68", + "95.940002", + "95.529999", + "94.989998", + "95.889999", + "95.599998", + "94.400002", + "93.589996", + "92.040001", + "93.400002", + "96.099998", + "95.550003", + "95.910004", + "95.099998", + "95.330002", + "97.550003", + "97.139999", + "97.459999", + "97.339996", + "98.830002", + "99.650002", + "98.940002", + "99.029999", + "98.629997", + "97.919998", + "97.720001", + "98.459999", + "99.860001", + "100.349998", + "100.410004", + "99.620003", + "97.900002", + "96.43", + "95.220001", + "94.199997", + "94.559998", + "93.489998", + "93.879997", + "90.519997", + "90.339996", + "92.510002", + "93.419998", + "92.790001", + "92.720001", + "93.239998", + "94.190002", + "95.18", + "93.639999", + "93.739998", + "94.830002", + "97.82", + "104.349998", + "105.080002", + "105.68", + "105.970001", + "107.129997", + "106.910004", + "107.480003", + "109.849998", + "112.099998", + "112.040001", + "110.440002", + "109.019997", + "108.660004", + "108.540001", + "110.959999", + "109.809998", + "111.120003", + "109.989998", + "108.989998", + "109.559998", + "107.68", + "105.190002", + "105.669998", + "106.129997", + "106.720001", + "105.910004", + "105.919998", + "105.800003", + "105.970001", + "104.580002", + "102.519997", + "102.260002", + "101.169998", + "101.120003", + "101.029999", + "101.870003", + "103.010002", + "101.50", + "100.75", + "100.529999", + "96.690002", + "96.910004", + "96.760002", + "96.099998", + "94.690002", + "96.879997", + "96.040001", + "96.260002", + "98.120003", + "96.639999", + "93.989998", + "93.699997", + "94.269997", + "94.989998", + "95.010002", + "94.019997", + "96.599998", + "96.349998", + "94.480003", + "96.43", + "97.339996", + "94.089996", + "93.419998", + "99.989998", + "99.440002", + "101.419998", + "96.300003", + "96.790001", + "96.660004", + "97.129997", + "99.519997", + "97.389999", + "99.959999", + "98.529999", + "96.959999", + "96.449997", + "100.699997", + "102.709999", + "105.349998" + ], + "increasing": { + "line": { + "color": "#b8e186" + }, + "name": "XYZ" + }, + "decreasing": { + "line": { + "color": "#f1b6da" + }, + "showlegend": false + }, + "yaxis": "y2" + } + ], + "layout": { + "xaxis": { + "range": [ + "2016-01-10 19:24:21.917", + "2016-08-15 05:54:22.978" + ] + }, + "yaxis": { + "tickprefix": "$", + "showtickprefix": "last" + }, + "yaxis2": { + "overlaying": "y", + "side": "right", + "tickprefix": "$", + "showtickprefix": "last" + }, + "legend": { + "x": 0, + "xanchor": "left", + "y": 1, + "yanchor": "bottom" + }, + "height": 600, + "width": 1100 + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_funnel_horizontal_group_basic.json b/test/image/mocks/tooltip_funnel_horizontal_group_basic.json new file mode 100644 index 00000000000..1cbf55efe86 --- /dev/null +++ b/test/image/mocks/tooltip_funnel_horizontal_group_basic.json @@ -0,0 +1,79 @@ +{ + "data": [ + { + "name": "plotly.js", + "type": "funnel", + "orientation": "h", + "y": [ + "All tickets", + "Pull requests", + "Author: etpinard", + "Label: bug", + "Status: open" + ], + "x": [ + 3756, + 1580, + 663, + 343, + 1 + ], + "textposition": "inside", + "insidetextanchor": "start", + "textinfo": "value+percent initial" + }, + { + "name": "orca", + "type": "funnel", + "orientation": "h", + "y": [ + "All tickets", + "Pull requests", + "Author: etpinard", + "Label: bug", + "Status: open" + ], + "x": [ + 224, + 107, + 31, + 2, + 0 + ], + "textposition": "outside", + "textinfo": "label+value", + "marker": { + "line": { + "color": "rgb(255, 0, 0)", + "width": 2 + } + } + } + ], + "layout": { + "font": { + "textcase": "word caps", + "lineposition": "under", + "shadow": "auto" + }, + "title": { + "text": "plotly repos | April 10 2019" + }, + "margin": { "l": 150 }, + "height": 800, + "width": 800, + "funnelmode": "group", + "showlegend": true + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_gl2d_scattergl_simple_line_reversed_ranges.json b/test/image/mocks/tooltip_gl2d_scattergl_simple_line_reversed_ranges.json new file mode 100644 index 00000000000..9ab0ff483cd --- /dev/null +++ b/test/image/mocks/tooltip_gl2d_scattergl_simple_line_reversed_ranges.json @@ -0,0 +1,19 @@ +{ + "data": + [ + { "type": "scattergl", "mode": "lines", "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "y": [0, 1, 0, 7, 7, 0, 2, 4, 3, 0], "line": { "width": 10, "dash": "solid" } }, + { "type": "scattergl", "mode": "lines", "y": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "x": [0, 1, 0, 7, 7, 0, 2, 4, 3, 0], "line": { "width": 10, "dash": "solid" } } + ], + "layout": {"width":800, "height":600, "xaxis":{ "range": [-1, 11] }, "yaxis":{ "autorange": "reversed" }, "title": {"text": "simple scatter lines (without markers or text) with reversed ranges"} }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_heatmap.json b/test/image/mocks/tooltip_heatmap.json new file mode 100644 index 00000000000..ce5f2bf166e --- /dev/null +++ b/test/image/mocks/tooltip_heatmap.json @@ -0,0 +1,22 @@ +{ + "data": [ + {"z":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0.479425538604203,0.42073549240394825,0.2590347239999257,0.033913221008892595,-0.19951142125004898,-0.38408870938290723,-0.47462768589678817,-0.4489612516838977,-0.3133734449877386,-0.1010608896776051,0.13599489604735257,0.3397543882321063,0.4603301568291037,0.46820104845885746,0.36143999434346163,0.16618582395229636,-0.06975643207562429,-0.2886198806908126,-0.43681911654264977,-0.47806979806556316],[0.8414709848078965,0.7384602626041288,0.4546487134128409,0.059523302749876744,-0.35017548837401463,-0.6741391071468371,-0.833049961066805,-0.7880011308845267,-0.5500221413615028,-0.17737854894038602,0.23869349855450117,0.5963250528764563,0.8079554366909637,0.8217701511725654,0.6343868724111538,0.29168356226783737,-0.12243405673851628,-0.5065755486182741,-0.7666896787563757,-0.8390914362975802],[0.9974949866040544,0.8753842058167891,0.5389488413540798,0.0705600040299336,-0.41510438314691145,-0.7991367400579124,-0.9875125521345757,-0.9341108507444101,-0.6520062348371742,-0.21026775312939655,0.28295160788871765,0.7068945470133586,0.957765047219918,0.9741412606432601,0.752013719096941,0.34576699172034125,-0.14513555427481242,-0.6005038548040795,-0.9088478683732044,-0.9946742265870426],[0.9092974268256817,0.7979835653540055,0.49129549643388193,0.06432115545729157,-0.37840124765396416,-0.72847782813465,-0.9001976297355174,-0.8515176560872232,-0.5943564625123038,-0.1916760780080705,0.2579332953294609,0.6443916022321794,0.8730803709656549,0.8880086151442936,0.6855213799524474,0.3151946025542913,-0.13230280634522198,-0.5474078740297428,-0.8284884026347462,-0.9067260757315837],[0.5984721441039564,0.5252087174427744,0.3233558794572173,0.04233424474998412,-0.24905228953044703,-0.47946213733156917,-0.5924829320872974,-0.5604432415034112,-0.3911874992581194,-0.1261554140534463,0.16976391633539115,0.4241191192817572,0.574635170156555,0.5844604902748424,0.4511894986016438,0.2074515818868843,-0.0870777172006391,-0.36028735417588875,-0.545286081388122,-0.596779758359612],[0.1411200080598672,0.12384445820716831,0.07624746575887673,0.009982434469478687,-0.05872664492762098,-0.11305739348309445,-0.13970774909946293,-0.13215277525819374,-0.09224219304455371,-0.029747504914657785,0.04003040989885004,0.10000748425976688,0.13549923859094465,0.13781605361390525,0.10639069220927921,0.048917178846713476,-0.020532965943782493,-0.0849559245590183,-0.12857870990075454,-0.1407209427195081],[-0.35078322768961984,-0.30784124362403054,-0.18952898678057029,-0.024813423918728386,0.14597733051683126,0.2810277433044853,0.34727276334600926,0.32849329935939453,0.22928721908526792,0.07394363090774263,-0.09950393699028207,-0.24858947079196256,-0.33681163228288286,-0.3425705594746185,-0.2644562661410251,-0.12159385562138761,0.051038971488334264,0.21117567833135176,0.3196092141095956,0.3497912675127834],[-0.7568024953079282,-0.6641566726773585,-0.4089021333016356,-0.0535340907332177,0.3149409643133779,0.6063074873459349,0.7492287917633427,0.7087127576894708,0.4946791233116909,0.15953078700964363,-0.21467624978306993,-0.5363230535329319,-0.7266592688575256,-0.7390839520378132,-0.5705551073052852,-0.2623344734994043,0.11011478865374665,0.4556041101569482,0.6895456557448896,0.7546623760610064],[-0.977530117665097,-0.8578633849855334,-0.5281617766300059,-0.06914774506952932,0.40679606609588603,0.7831420127722354,0.9677474816893965,0.9154146157156391,0.6389563256138466,0.20605924262087827,-0.27728832953300614,-0.6927460478486331,-0.9385953732878621,-0.9546438166881925,-0.7369621593961925,-0.3388464630301511,0.1422306651692096,0.5884847660672846,0.8906572721083589,0.9747658151790043],[-0.9589242746631385,-0.8415352216177445,-0.5181089967534271,-0.06783161980090216,0.39905330338932815,0.7682360604393477,0.9493278367245317,0.8979910496137723,0.6267947350248265,0.20213720907119684,-0.2720105554446849,-0.6795606492879366,-0.9207305956792999,-0.9364735806462414,-0.7229351724130583,-0.3323970207275786,0.13952351438338687,0.5772838271206204,0.8737049255013992,0.9562125865948901],[-0.7055403255703919,-0.6191698864310322,-0.3812050647886408,-0.04990794829456958,0.2936083745425595,0.5652391273416245,0.6984796283637233,0.6607079560337191,0.4611719330711226,0.14872493695926334,-0.20013511068373355,-0.49999510327535174,-0.6774388566463158,-0.6890219514041658,-0.5319084419776275,-0.2445651949995204,0.10265614122383222,0.42474367381750155,0.6428391416071514,0.7035451677325225],[-0.27941549819892586,-0.2452101687412882,-0.1509688379721747,-0.019765070445179098,0.11627787565772676,0.2238519424669352,0.2766192466508119,0.2616605118210736,0.18263815796815594,0.05889961331619216,-0.07925961087140347,-0.19801331804211275,-0.26828645900021747,-0.2728737179777018,-0.21065197399062777,-0.09685528002621675,0.04065496443459431,0.16821145571036328,0.2545839160486248,0.2786253548137082],[0.21511998808781552,0.1887855502599316,0.11622982560217349,0.015216985980121653,-0.08952150252080339,-0.17234200503308583,-0.21296717407571455,-0.2014505514147513,-0.1406118079338568,-0.045346389862510876,0.06102140595781295,0.15244903340373075,0.20655182062650113,0.21008351841332046,0.16217944397370895,0.0745681854434869,-0.0312999655396857,-0.12950479333428241,-0.19600233108307993,-0.21451166236246624],[0.6569865987187891,0.5765599824312772,0.35497137421222796,0.04647339352654919,-0.27340289471069096,-0.5263406190634532,-0.650411803098649,-0.6152394938306449,-0.4294350992454181,-0.138490015292236,0.18636225441262333,0.46558654462642685,0.6308190108172687,0.6416049825779119,0.4953036778474351,0.22773475846024002,-0.09559157232538983,-0.3955137523331289,-0.5986003717453734,-0.6551287432365397],[0.9379999767747389,0.8231724226710855,0.5068035503556529,0.06635149352141535,-0.39034572301610065,-0.7514726927762542,-0.9286129388183836,-0.8783963509293159,-0.6131177011890242,-0.19772645497028388,0.2660751233763779,0.6647322318261614,0.9006397065778377,0.9160391702513835,0.707160297064443,0.32514392007855847,-0.13647902833320322,-0.5646871507364809,-0.8546401644865887,-0.9353474593526193],[0.9893582466233818,0.8682435446991146,0.5345525419802729,0.06998443381300311,-0.4117183045441479,-0.792618042771031,-0.979457240606921,-0.9264911461767628,-0.6466877066541816,-0.20855256252041027,0.2806435224432541,0.7011282853277887,0.949952391260276,0.9661950210643687,0.7458794124825067,0.3429465102709998,-0.14395165833253265,-0.5956054404866631,-0.9014342383437266,-0.986560496036106],[0.7984871126234903,0.7007383659325692,0.4314244281564648,0.056482743914709636,-0.33228788594192726,-0.6397028523748146,-0.7904962501294102,-0.7477485963317867,-0.5219260075081489,-0.16831772924064364,0.2265005994310005,0.5658636818773687,0.7666835998143197,0.7797926334913993,0.6019812342709254,0.2767838340714156,-0.11617990188246004,-0.4806987459397784,-0.7275257720361802,-0.7962291157897863],[0.4121184852417566,0.36166799608084055,0.222668567867006,0.02915210840153438,-0.1715018039159572,-0.3301660933003065,-0.40799420809968046,-0.38593111146079634,-0.2693786189182488,-0.08687284555673806,0.11690243019347103,0.2920559139175316,0.39570392410849203,0.4024698130208766,0.3106970550803082,0.1428548221174657,-0.05996325353583019,-0.2481002334319773,-0.375493623385838,-0.41095307853690777],[-0.0751511204618093,-0.06595131282380662,-0.04060432367408991,-0.005315979963660839,0.03127390104315517,0.060206840359177054,0.07439904536830741,0.07037576931385751,0.04912205049061451,0.015841540515865917,-0.021317531070207008,-0.05325732757540569,-0.07215787287591162,-0.07339165430259903,-0.05665659913258328,-0.02605003252693758,0.010934490567948442,0.0452418690181102,0.06847246006729521,0.07493860483147616]], + "x":[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5], + "y":[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5], + "type":"heatmap", + "colorscale":"Viridis", + "tooltip":{"bgcolor":"rgba(255, 255, 255, 0.2)"} + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_heatmap_shared_categories.json b/test/image/mocks/tooltip_heatmap_shared_categories.json new file mode 100644 index 00000000000..39123e26940 --- /dev/null +++ b/test/image/mocks/tooltip_heatmap_shared_categories.json @@ -0,0 +1,60 @@ +{ + "data": [ + { + "type": "heatmap", + "x": ["Team A", "Team B", "Team C"], + "xaxis": "x", + "y": ["Game Three", "Game Two", "Game One"], + "z": [[0.1, 0.3, 0.5], [1, 0.8, 0.6], [0.6, 0.4, 0.2]], + "yaxis": "y", + "coloraxis": "coloraxis" + }, + { + "type": "heatmap", + "x": ["Team B", "Team C"], + "xaxis": "x", + "y": ["Game Three", "Game Two", "Game One"], + "z": [[0.3, 0.5], [0.8, 0.6], [0.4, 0.2]], + "yaxis": "y2", + "coloraxis": "coloraxis" + } + ], + "layout": { + "xaxis": { + "anchor": "y2", + "domain": [0, 1], + "type": "category", + "range": [-0.5, 2.5], + "autorange": true + }, + "yaxis": { + "anchor": "free", + "domain": [0.575, 1], + "position": 0, + "type": "category", + "range": [-0.5, 2.5], + "autorange": true + }, + "yaxis2": { + "anchor": "x", + "domain": [0, 0.425], + "type": "category", + "range": [-0.5, 2.5], + "autorange": true + }, + "coloraxis": { + "colorscale": "RdBu" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_histogram.json b/test/image/mocks/tooltip_histogram.json new file mode 100644 index 00000000000..0aed091ca45 --- /dev/null +++ b/test/image/mocks/tooltip_histogram.json @@ -0,0 +1,22 @@ +{ + "data": [{ + "name":"H1", + "x":[15.23921160702866,15.03624024253109,17.197213230383564,7.467288036989801,9.73118879555351,10.412133555738741,13.771539114987359,19.06527554952006,6.893448656421133,11.049577750887122,13.256892510523139,5.75315036856648,9.316709825863082,1.6269833164006098,18.641703507992695,11.751584767477825,16.317694590114698,16.462629247884376,18.481165427641738,6.066337228231702,15.30176001093007,14.242703415677054,5.252479334458437,5.537966466622146,10.332773687712724,14.74723097563124,15.945896551123065,0.7829495766325634,9.101356872626877,12.5992538760891,18.506589677349435,17.88311772298359,13.239650604461104,14.893573026174689,13.290944291798736,1.2002263131283186,9.095191132532289,1.0828712108895555,18.71571427987662,18.353955013977508,10.000145823485894,17.77534914439723,13.450935215307755,1.5633741222188102,11.023184693914668,1.1310347587465541,14.240214475316593,5.403764243212052,13.429120962894281,8.264091281946154,8.381692805334096,4.342360376842025,1.4326282407154456,0.6602555085308648,5.22207774108959,9.04441085507353,19.43525005320762,12.72165912107182,3.5073982130798442,2.1812404046032974,4.911810050113036,11.171412334479356,16.76936352413933,4.587344341274601,19.990084680470815,18.766364300875814,14.441083351837289,2.213347387568916,15.187481980048705,19.03820481209533,15.634336487448873,19.560340966478936,2.221945048102185,8.082876333318605,12.491339168223469,8.2620860149176,3.267562602664027,15.613002546991675,1.809684402449574,9.384835169858231,0.784701354499362,7.736720378466413,19.110503994209395,18.18815635436725,15.441766892507427,13.325460022521323,4.350130599007782,11.826798147970157,8.451710593669393,17.80921376484458,17.668898753220198,6.903996269297961,9.86587737515345,5.162452452761177,17.65180653562772,2.5023093246149486,4.186956795808792,13.576474411009098,10.300076652914514,14.713166745686575],"type":"histogram"}, + {"name":"H2", + "x":[9.93930814479408,6.947631964344634,17.062657909316307,3.73745305647627,15.543332253916876,3.1717875672865214,1.3969395969400167,15.608368228140527,17.972102731028897,4.877437062932676,11.950697341929747,14.702979150022193,17.98722627222531,9.415151324090367,2.379402843949645,9.089357239971005,3.906445818222959,9.803104299504337,2.317716581150142,12.977275997656292,13.893794949388585,2.222428675530259,8.134836005844193,19.179300974916124,1.3425381870022757,19.649105422231806,9.893775272091752,7.371183440448359,0.27498466058639925,3.853254647701112,2.2831144402916514,1.222410379215635,11.947313843023302,11.725935566611039,12.234343111660277,18.676696610837254,15.454687173696737,0.26488259169332284,12.177910392641264,5.530213776191529,19.308693706427256,16.741687983862395,0.060315868468214795,5.285004836361562,8.832697108525254,12.275305474270251,14.959162079353053,6.868602059440054,18.973035635072225,2.039133745285364,1.4505708229303438,3.069641847044282,11.517687737749307,10.627295696440092,11.541368584461926,3.3607961789277074,18.512014444966994,15.650505737453138,14.615832288776687,1.361979674930609,14.079978058649953,6.340703907023045,18.294478020790464,12.301252209774836,8.692325117952702,18.850035958133404,17.913326644123476,1.5447007535622492,10.011912383417524,19.34533193110649,18.34520495610937,7.784744458265072,16.36577042855992,18.694860395751075,15.0677456305028,11.037614113035337,7.567991150976702,13.67595565969121,14.983411976986885,12.574852617001051,7.999559224808497,4.809315125646185,10.26138678181902,4.645200208941967,2.9927516792900843,6.255038768512384,2.4272073816674533,12.859923027804392,19.112860962334402,13.00012061300225,13.156848215858972,11.794865433749424,1.0931884007895198,7.298685335549413,15.288012059956333,18.18117897572211,3.195928865142803,8.286669053735697,9.727089201212294,2.3263730235563873], + "type":"histogram"}, + {"name":"H3", + "x":[8.424847346078977,17.769072475845338,7.404715350280213,1.140877389941386,9.438453569956607,11.182233136392437,9.545039196399177,9.14597545430418,10.488737669653476,19.16470146724785,2.409862031362404,10.129222991006632,0.7716117210389695,11.782743219231893,3.804822597114792,15.303807958215554,16.821666392002538,19.244097661018962,16.921367819419682,6.664076239755465,10.669268449481027,1.5764306149059348,1.4780159947925942,3.5192161527392707,0.19113234471882512,12.084188168832426,15.261335985626443,5.934792395469755,2.1976755919672497,3.2213231440892987,3.9529742691982306,15.09743133471514,19.363879386687223,12.131947595591509,14.202769090916158,19.824831980780683,3.082381009141948,14.116081633148713,16.47901142501033,7.510953351893281,18.910455180283,5.834796703989092,0.022478918711370532,11.58065158386449,15.846224695275783,19.745393645005844,16.069135935179823,19.226963772917955,4.978611871564493,3.50657141755909,18.130906598003932,5.256984870183883,9.078685336477747,19.20192771761044,17.490811185485256,3.8895480322011178,4.819236830946778,17.22244071088553,3.378124836925054,10.145299297006803,1.7018508220566497,10.27783823401175,10.269951697176634,3.250872850842401,13.341488434398743,9.444781580461308,17.125993928951463,17.28747991548027,11.255649620975356,2.057505420204757,18.1702342467505,15.808877858798205,5.220621339893723,9.841506215340367,18.57975812198436,5.9255025186409505,19.87374605757019,16.617764729821364,2.217621216290948,9.745573270895768,12.549014911867943,18.812301299687043,14.332163481167981,15.961659751233352,2.8520219827170767,3.765096216495225,14.215534095320127,16.609619105562565,11.722974958077376,14.130186032209089,3.864782625533729,0.48025081170719686,12.627827226620479,8.147584101012235,17.737369254682918,19.963573895192425,4.902593225542393,19.253275747935813,2.1261282846532703,14.734260396715054],"type":"histogram"} + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_histogram2d.json b/test/image/mocks/tooltip_histogram2d.json new file mode 100644 index 00000000000..09adef2bc2e --- /dev/null +++ b/test/image/mocks/tooltip_histogram2d.json @@ -0,0 +1,19 @@ +{ + "data": [{ + "x":[8.132901936619547,13.214679103267024,3.914144654053613,12.922419585549976,4.1888176995687925,8.499123226280215,14.009586941141146,18.894050687659014,9.188463163900362,4.9609409973139895,10.234305803164649,14.565882848107211,4.954709477373786,9.160510750591836,10.90412980942572,7.896610094229781,7.927735019175197,4.55358194893285,18.212329597213593,5.643866024285722,13.62086476746084,8.57534248375621,0.07254456054489156,4.901098755027982,17.081641492217663,10.884250081490158,19.527225700689478,5.11960284895161,4.151131625531683,17.935517851547907,19.63474642722774,12.600542580560198,16.404709718746727,1.1028720734790576,5.101564974349535,1.6722369801654624,5.12336393337362,4.007039848812404,0.7484086749278318,10.030348511723117,2.5777845504388197,5.930458414675337,7.425896322603894,10.58118939091859,16.211877557208982,15.656941048659373,3.5312013362110473,6.50801778686607,6.600465050576235,10.139560535121177,7.28754120077733,3.610815645479122,2.4985407885092448,16.904014398827872,12.705796600991238,6.024030477715019,1.0519954704558443,4.672836773936389,15.932820926127306,2.058918014182527,16.557178123167418,12.942480412391786,13.02337891376406,14.702627364362172,1.0349415732642675,4.076752054690418,3.1097643593655677,14.189115947486782,5.93590560616033,0.6905157203289258,10.63565910099821,5.497412379926827,9.880142262940964,7.0265372283541545,16.725239453348944,13.553421637209087,19.557477457479063,2.1968808343440194,4.764260513089871,19.685417234279257,18.455709498892585,7.959053264711901,16.794357459692,4.412012772963932,14.69164569422805,3.2604545556974673,5.192592270033116,17.201383863886456,13.06410101424973,0.6296958414815745,5.110582142500086,12.656554299838582,18.12114416898687,7.781907739280958,14.35996588041383,15.671550784627605,6.140863529899512,13.74767435602668,5.410555888787343,10.404848816837902,12.633145584715539,19.227613459740244,0.19282636449261314,8.275192403004159,12.65890248721913,19.3136593006213,17.125805476808438,4.562929653967183,16.10702821890535,0.8859776643704187,1.7610456832207655,0.056253484135628806,16.1421592073381,5.125970221625278,12.046704173203505,1.6556846509563483,6.064619492756227,14.156354720372104,18.888738044062418,14.308516457353242,16.362352636668398,15.332139018581257,1.050225035314154,18.46769034186377,8.87358937960521,15.453388241633103,3.1482492192628975,3.9688990859783146,11.679540263919947,7.895493186400584,1.0798086131708629,15.433870455328249,13.131189863524009,9.952149806295083,0.7029798403593746,7.40039691957548,9.330913150593167,13.304458999348054,11.371817714413691,9.471640159455676,14.559838105562253,16.086723438518515,7.420055358381504,9.525514615836034,17.601644417165588,0.0075823225782367665,7.571847199999335,12.64865689712568,7.219918893650652,19.05367735269829,2.6041849238613546,18.38648769150436,2.8719071242850425,1.052856487078886,2.6300003256019977,1.8620641473096788,15.832850999734971,17.579337980726006,6.180520503567351,0.7302306386574142,10.82980196479938,11.274768935933238,14.722140851034052,8.07432518529118,0.4286626460587306,3.8100876293244035,13.166474228114403,11.696754362525901,4.945044045345575,7.955435397828059,17.73299658369425,16.421954157997405,17.219375497055054,16.954120695912568,11.072509253249237,6.736944308536992,15.422527633451065,13.781941413952534,17.248539527180363,7.640131199083409,8.673724688819632,17.950862780038147,13.226875052548,4.225242791442909,0.7786665506829027,12.494982785406064,8.260235365697312,8.243642378652394,18.59921919968177,15.928576839674626,1.1117742771361239,0.5869550624719211,3.3110251703535365,19.054682612159674,18.100060561105813,14.690620585596347,4.231190319294605,3.557023945108164,14.885128275511143,1.8658406595290833], + "y":[12.17630732636692,15.031754224908777,3.7324981978657057,17.40846052763926,14.196768955681643,5.557465474902948,1.7531522644785857,14.33102972363412,3.622641153282631,0.15162740790972462,0.10456177162243563,16.753665518972852,3.941033592840748,4.536481259490415,14.003705648071636,2.5005991403833128,16.31925929003102,0.48348864239804445,15.622061966354284,8.70422537493319,1.4023900157205071,4.9500287070758535,3.399159319520655,1.2508771421369347,2.9569974792823683,19.554421865172124,3.198877099083828,3.20534036139416,10.70586519461353,1.201574767964293,6.386590344411007,3.03487150655815,4.623003989648207,14.292805197107551,16.605149402675966,2.439720459926815,16.685906792044054,12.945718380784577,4.943259304277663,5.350707941897424,5.022412486132444,8.17370731939176,13.711403468665718,17.00739887734268,9.806373721804452,11.261832569606776,6.429092104896073,14.030740694486447,14.789738546040539,17.129673236901226,2.1545754317155796,1.4235559832581446,10.990386611485734,16.433957904546972,0.8055732537515392,15.391413973128994,5.410865162874221,1.0626250673243098,3.7375489387158045,7.443936434674221,15.957777501505966,14.424264533142832,18.546992623519984,4.87718366705357,17.144411292941932,14.325294837857331,2.8400154539169864,11.314015645567274,9.956285394887374,16.294799478654706,10.88289687140329,0.05880932205168499,13.249154547138293,18.46042023391388,3.955611991259258,16.726603523076708,8.199958228183098,11.05547629914759,18.017908841225022,4.045201166933186,1.409195137497108,10.653950979210183,2.6950660749086164,14.131078060165725,4.157057144621739,3.4816480639017056,2.3603293691651506,2.1011600772290606,0.8593508816277473,7.933174163056266,3.6711874715361192,7.581771001303497,11.522961678439806,18.775487679983232,15.84779341335051,10.996151650485885,9.27238895469153,5.252948555208881,19.724297034665025,8.815951709527639,5.642326755021223,3.913227963349384,5.650101550746287,16.294724796669374,3.766268559116206,6.34362436746197,11.92157138739529,3.5801763407030096,15.214581765609294,4.7128537046870385,16.523496521484187,13.940637560761235,12.310223237746833,4.576255125005979,9.397350410026599,15.586868703276162,17.406521765534656,15.261557225389705,10.450298216473648,16.34013049475801,19.818995457679012,14.11429197672944,0.5155010383909842,3.7676986185307304,9.496387829128391,12.67894717713488,8.252778135232939,19.006529442776117,10.221884838616212,6.616693030878338,18.761256973232687,10.550669597383704,1.3437648130710578,17.167117274548577,14.479253067028477,1.12367496584455,8.946802119884234,16.72523982212797,3.5914952586640836,8.868385080017953,1.8556780653495308,8.29295094269548,3.284519877219272,0.474001340573178,6.181925785774713,16.446560175681043,19.988220676027623,17.226861189550988,4.830429894700985,12.037841879882407,9.929992916507313,1.0716744152775282,13.401196743677131,8.78713210099562,11.532483967609599,18.179298179609663,14.515077788464325,10.336431418835634,18.381357710951146,16.964068291306617,2.8811025140280733,12.63978907128884,10.091342364835075,1.943087344088592,16.918668266475397,7.002530877677455,0.04330309619935191,6.387621430474124,13.292628111401148,19.422909783367096,18.782585287265448,3.033997246118585,9.202427785965588,9.333631991716928,19.441004145092116,10.079617798007217,3.4586310522952335,0.6061203294315498,16.706359390672464,1.444529010100537,4.738071159147468,5.727546720030716,1.8915481135889922,0.5352329206186979,19.287086624799016,19.72414245901527,11.872639874342031,10.568527331181638,17.939449202833185,0.5972306562550211,16.79050721861802,9.811896854823356,10.10593751578278,3.7260028798772904,5.163313221099662,19.192173788796914,1.642107824201131,5.043189905309571,4.824799509568223,12.761366769432582], + "type":"histogram2d", + "colorscale":"Blues" + }], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_histogram2dcontour_legend-coloraxis.json b/test/image/mocks/tooltip_histogram2dcontour_legend-coloraxis.json new file mode 100644 index 00000000000..76ae265daec --- /dev/null +++ b/test/image/mocks/tooltip_histogram2dcontour_legend-coloraxis.json @@ -0,0 +1,60 @@ +{ + "data": [ + { + "showlegend": true, + "coloraxis": "coloraxis", + "x": [ + "apples", + "apples", + "apples", + "apples", + "lemons", + "lemons" + ], + "y": [ + "red", + "red", + "yellow", + "green", + "yellow", + "yellow" + ], + "z": [ + "1", + "2", + "3", + "4", + "5", + "6" + ], + "histfunc": "sum", + "type": "histogram2dcontour", + "name": "histogram2dcontour" + } + ], + "layout": { + "coloraxis": { + "colorscale": [[0, "blue"], [1, "red"]], + "reversescale": true, + "showscale": false + }, + "title": {"text": "histogram2dcontour legend with coloraxis"}, + "margin": { + "t": 125, + "b": 25 + }, + "width": 600, + "height": 400 + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_histogram_horizontal.json b/test/image/mocks/tooltip_histogram_horizontal.json new file mode 100644 index 00000000000..b80d83e9a7d --- /dev/null +++ b/test/image/mocks/tooltip_histogram_horizontal.json @@ -0,0 +1,25 @@ +{ + "data": [{ + "name":"H1", + "y":[15.23921160702866,15.03624024253109,17.197213230383564,7.467288036989801,9.73118879555351,10.412133555738741,13.771539114987359,19.06527554952006,6.893448656421133,11.049577750887122,13.256892510523139,5.75315036856648,9.316709825863082,1.6269833164006098,18.641703507992695,11.751584767477825,16.317694590114698,16.462629247884376,18.481165427641738,6.066337228231702,15.30176001093007,14.242703415677054,5.252479334458437,5.537966466622146,10.332773687712724,14.74723097563124,15.945896551123065,0.7829495766325634,9.101356872626877,12.5992538760891,18.506589677349435,17.88311772298359,13.239650604461104,14.893573026174689,13.290944291798736,1.2002263131283186,9.095191132532289,1.0828712108895555,18.71571427987662,18.353955013977508,10.000145823485894,17.77534914439723,13.450935215307755,1.5633741222188102,11.023184693914668,1.1310347587465541,14.240214475316593,5.403764243212052,13.429120962894281,8.264091281946154,8.381692805334096,4.342360376842025,1.4326282407154456,0.6602555085308648,5.22207774108959,9.04441085507353,19.43525005320762,12.72165912107182,3.5073982130798442,2.1812404046032974,4.911810050113036,11.171412334479356,16.76936352413933,4.587344341274601,19.990084680470815,18.766364300875814,14.441083351837289,2.213347387568916,15.187481980048705,19.03820481209533,15.634336487448873,19.560340966478936,2.221945048102185,8.082876333318605,12.491339168223469,8.2620860149176,3.267562602664027,15.613002546991675,1.809684402449574,9.384835169858231,0.784701354499362,7.736720378466413,19.110503994209395,18.18815635436725,15.441766892507427,13.325460022521323,4.350130599007782,11.826798147970157,8.451710593669393,17.80921376484458,17.668898753220198,6.903996269297961,9.86587737515345,5.162452452761177,17.65180653562772,2.5023093246149486,4.186956795808792,13.576474411009098,10.300076652914514,14.713166745686575],"type":"histogram" + }, + {"name":"H2", + "y":[9.93930814479408,6.947631964344634,17.062657909316307,3.73745305647627,15.543332253916876,3.1717875672865214,1.3969395969400167,15.608368228140527,17.972102731028897,4.877437062932676,11.950697341929747,14.702979150022193,17.98722627222531,9.415151324090367,2.379402843949645,9.089357239971005,3.906445818222959,9.803104299504337,2.317716581150142,12.977275997656292,13.893794949388585,2.222428675530259,8.134836005844193,19.179300974916124,1.3425381870022757,19.649105422231806,9.893775272091752,7.371183440448359,0.27498466058639925,3.853254647701112,2.2831144402916514,1.222410379215635,11.947313843023302,11.725935566611039,12.234343111660277,18.676696610837254,15.454687173696737,0.26488259169332284,12.177910392641264,5.530213776191529,19.308693706427256,16.741687983862395,0.060315868468214795,5.285004836361562,8.832697108525254,12.275305474270251,14.959162079353053,6.868602059440054,18.973035635072225,2.039133745285364,1.4505708229303438,3.069641847044282,11.517687737749307,10.627295696440092,11.541368584461926,3.3607961789277074,18.512014444966994,15.650505737453138,14.615832288776687,1.361979674930609,14.079978058649953,6.340703907023045,18.294478020790464,12.301252209774836,8.692325117952702,18.850035958133404,17.913326644123476,1.5447007535622492,10.011912383417524,19.34533193110649,18.34520495610937,7.784744458265072,16.36577042855992,18.694860395751075,15.0677456305028,11.037614113035337,7.567991150976702,13.67595565969121,14.983411976986885,12.574852617001051,7.999559224808497,4.809315125646185,10.26138678181902,4.645200208941967,2.9927516792900843,6.255038768512384,2.4272073816674533,12.859923027804392,19.112860962334402,13.00012061300225,13.156848215858972,11.794865433749424,1.0931884007895198,7.298685335549413,15.288012059956333,18.18117897572211,3.195928865142803,8.286669053735697,9.727089201212294,2.3263730235563873], + "type":"histogram" + }, + {"name":"H3", + "y":[8.424847346078977,17.769072475845338,7.404715350280213,1.140877389941386,9.438453569956607,11.182233136392437,9.545039196399177,9.14597545430418,10.488737669653476,19.16470146724785,2.409862031362404,10.129222991006632,0.7716117210389695,11.782743219231893,3.804822597114792,15.303807958215554,16.821666392002538,19.244097661018962,16.921367819419682,6.664076239755465,10.669268449481027,1.5764306149059348,1.4780159947925942,3.5192161527392707,0.19113234471882512,12.084188168832426,15.261335985626443,5.934792395469755,2.1976755919672497,3.2213231440892987,3.9529742691982306,15.09743133471514,19.363879386687223,12.131947595591509,14.202769090916158,19.824831980780683,3.082381009141948,14.116081633148713,16.47901142501033,7.510953351893281,18.910455180283,5.834796703989092,0.022478918711370532,11.58065158386449,15.846224695275783,19.745393645005844,16.069135935179823,19.226963772917955,4.978611871564493,3.50657141755909,18.130906598003932,5.256984870183883,9.078685336477747,19.20192771761044,17.490811185485256,3.8895480322011178,4.819236830946778,17.22244071088553,3.378124836925054,10.145299297006803,1.7018508220566497,10.27783823401175,10.269951697176634,3.250872850842401,13.341488434398743,9.444781580461308,17.125993928951463,17.28747991548027,11.255649620975356,2.057505420204757,18.1702342467505,15.808877858798205,5.220621339893723,9.841506215340367,18.57975812198436,5.9255025186409505,19.87374605757019,16.617764729821364,2.217621216290948,9.745573270895768,12.549014911867943,18.812301299687043,14.332163481167981,15.961659751233352,2.8520219827170767,3.765096216495225,14.215534095320127,16.609619105562565,11.722974958077376,14.130186032209089,3.864782625533729,0.48025081170719686,12.627827226620479,8.147584101012235,17.737369254682918,19.963573895192425,4.902593225542393,19.253275747935813,2.1261282846532703,14.734260396715054],"type":"histogram" + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_histogram_subplots.json b/test/image/mocks/tooltip_histogram_subplots.json new file mode 100644 index 00000000000..d05616e948e --- /dev/null +++ b/test/image/mocks/tooltip_histogram_subplots.json @@ -0,0 +1,74 @@ +{ + "data": [ + { + "x": [15.2, 15.0, 17.2, 7.5, 9.7, 10.4, 13.8, 19.1, 6.9, 11.0, 13.3, 5.8, 9.3, 1.6, 18.6, 11.8, 16.3, 16.5, 18.5, 6.1], + "name": "H1", + "type": "histogram", + "xaxis": "x", + "yaxis": "y" + }, + { + "x": [9.9, 6.9, 17.1, 3.7, 15.5, 3.2, 1.4, 15.6, 18.0, 4.9, 12.0, 14.7, 18.0, 9.4, 2.4, 9.1, 3.9, 9.8, 2.3, 13.0], + "name": "H2", + "type": "histogram", + "xaxis": "x2", + "yaxis": "y2" + }, + { + "y": [8.4, 17.8, 7.4, 1.1, 9.4, 11.2, 9.5, 9.1, 10.5, 19.2, 2.4, 10.1, 0.8, 11.8, 3.8, 15.3, 16.8, 19.2, 16.9, 6.7], + "name": "H3", + "type": "histogram", + "xaxis": "x3", + "yaxis": "y3" + } + ], + "layout": { + "grid": { + "rows": 2, + "columns": 2, + "pattern": "independent", + "ygap": 0.35 + }, + "xaxis": { + "title": { + "text": "X1 Axis" + } + }, + "yaxis": { + "title": { + "text": "Y1 Axis" + } + }, + "xaxis2": { + "title": { + "text": "X2 Axis" + } + }, + "yaxis2": { + "title": { + "text": "Y2 Axis" + } + }, + "xaxis3": { + "title": { + "text": "X3 Axis" + } + }, + "yaxis3": { + "title": { + "text": "Y3 Axis" + } + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_log_scatter.json b/test/image/mocks/tooltip_log_scatter.json new file mode 100644 index 00000000000..d47a469e644 --- /dev/null +++ b/test/image/mocks/tooltip_log_scatter.json @@ -0,0 +1,83 @@ +{ + "data": [ + { + "name": "Left Trace 1", + "x": [1, 10, 100, 1000, 10000], + "y": [5, 10, 15, 20, 25], + "type": "scatter", + "xaxis": "x", + "yaxis": "y" + }, + { + "name": "Left Trace 2", + "x": [1, 10, 100, 1000, 10000], + "y": [25, 20, 15, 10, 5], + "type": "scatter", + "xaxis": "x", + "yaxis": "y" + }, + { + "name": "Right Trace 1", + "x": [5, 10, 15, 20, 25], + "y": [1, 10, 100, 1000, 10000], + "type": "scatter", + "xaxis": "x2", + "yaxis": "y2" + }, + { + "name": "Right Trace 2", + "x": [25, 20, 15, 10, 5], + "y": [1, 10, 100, 1000, 10000], + "type": "scatter", + "xaxis": "x2", + "yaxis": "y2" + } + ], + "layout": { + "xaxis": { + "domain": [0, 0.45], + "type": "log", + "title": { + "text": "Log X-Axis" + } + }, + "yaxis": { + "domain": [0, 1], + "title": { + "text": "Linear Y-Axis" + } + }, + "xaxis2": { + "domain": [0.55, 1], + "title": { + "text": "Linear X-Axis" + } + }, + "yaxis2": { + "domain": [0, 1], + "type": "log", + "title": { + "text": "Log Y-Axis" + } + }, + "grid": { + "rows": 1, + "columns": 2, + "pattern": "independent" + }, + "title": { + "text": "Dual Subplots with Log Scales" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_multiple_subplots.json b/test/image/mocks/tooltip_multiple_subplots.json new file mode 100644 index 00000000000..2ee226df147 --- /dev/null +++ b/test/image/mocks/tooltip_multiple_subplots.json @@ -0,0 +1,128 @@ +{ + "data": [ + { + "x": [ + 1, + 2, + 3 + ], + "y": [ + 4, + 5, + 6 + ], + "type": "scatter" + }, + { + "x": [ + 20, + 30, + 40 + ], + "y": [ + 50, + 60, + 70 + ], + "xaxis": "x2", + "yaxis": "y2", + "type": "scatter" + }, + { + "x": [ + 300, + 400, + 500 + ], + "y": [ + 600, + 700, + 800 + ], + "xaxis": "x3", + "yaxis": "y3", + "type": "scatter" + }, + { + "x": [ + 4000, + 5000, + 6000 + ], + "y": [ + 7000, + 8000, + 9000 + ], + "xaxis": "x4", + "yaxis": "y4", + "type": "scatter" + } + ], + "layout": { + "xaxis": { + "domain": [ + 0, + 0.45 + ] + }, + "yaxis": { + "domain": [ + 0, + 0.45 + ] + }, + "xaxis4": { + "domain": [ + 0.55, + 1 + ], + "anchor": "y4" + }, + "xaxis3": { + "domain": [ + 0, + 0.45 + ], + "anchor": "y3" + }, + "xaxis2": { + "domain": [ + 0.55, + 1 + ], + "anchor": "x2" + }, + "yaxis2": { + "domain": [ + 0, + 0.45 + ], + "anchor": "x2" + }, + "yaxis3": { + "domain": [ + 0.55, + 1 + ] + }, + "yaxis4": { + "domain": [ + 0.55, + 1 + ], + "anchor": "x4" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_scatter.json b/test/image/mocks/tooltip_scatter.json new file mode 100644 index 00000000000..1535dfe2d3a --- /dev/null +++ b/test/image/mocks/tooltip_scatter.json @@ -0,0 +1,65 @@ +{ + "data": [ + { + "name": "Scatter Trace 1", + "x": [ + "2025-04-01T12:00:00.000Z", + "2025-04-01T19:00:00.000Z", + "2025-04-02T02:00:00.000Z", + "2025-04-02T09:00:00.000Z", + "2025-04-02T16:00:00.000Z" + ], + "y": [ + 18.653706196862725, + 4.688822683080214, + 14.917280752096753, + 4.600558128027796, + 9.333771080586484 + ], + "type": "scatter", + "tooltip": { + "align": "left", + "arrowcolor": "blue", + "arrowhead": 2, + "arrowsize": 1.2, + "arrowwidth": 1, + "font": { + "color": "red", + "family": "Arial", + "size": 16 + }, + "showarrow": true, + "xanchor": "left" + } + }, + { + "name": "Scatter Trace 2", + "x": [ + "2025-04-01T12:00:00.000Z", + "2025-04-01T19:00:00.000Z", + "2025-04-02T02:00:00.000Z", + "2025-04-02T09:00:00.000Z", + "2025-04-02T16:00:00.000Z" + ], + "y": [ + 3.3719225986580192, + 2.9853095383720873, + 18.9892710479482, + 17.60752687975191, + 2.5038703600044876 + ], + "type": "scatter" + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_scattercarpet-on-two-carpets.json b/test/image/mocks/tooltip_scattercarpet-on-two-carpets.json new file mode 100644 index 00000000000..d78f2d08241 --- /dev/null +++ b/test/image/mocks/tooltip_scattercarpet-on-two-carpets.json @@ -0,0 +1,88 @@ +{ + "data": [ + { + "type": "carpet", + "a": [ 4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6 ], + "b": [ 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3 ], + "y": [ 2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10 ], + "aaxis": { + "tickprefix": "a = ", + "ticksuffix": "m", + "smoothing": 1, + "minorgridcount": 9 + }, + "baxis": { + "tickprefix": "b = ", + "ticksuffix": "Pa", + "smoothing": 1, + "minorgridcount": 9 + }, + "carpet": "c0" + }, + { + "type": "carpet", + "a": [ 4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6 ], + "b": [ 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3 ], + "y": [ 22, 23.5, 24, 23, 24.5, 25, 25.5, 26.5, 27.5, 28, 28.5, 30 ], + "aaxis": { + "tickprefix": "a = ", + "ticksuffix": "m", + "smoothing": 1, + "minorgridcount": 9 + }, + "baxis": { + "tickprefix": "b = ", + "ticksuffix": "Pa", + "smoothing": 1, + "minorgridcount": 9 + }, + "carpet": "c1" + }, + { + "type": "scattercarpet", + "a": [ 4, 4.5, 5, 6 ], + "b": [ 2.5, 2.5, 2.5, 2.5 ], + "line": { + "shape": "spline", + "smoothing": 1, + "color": "blue" + }, + "mode": "lines+markers", + "marker": { + "size": 15, + "symbol": "arrow", + "angleref": "previous" + }, + "carpet": "c0" + }, + { + "type": "scattercarpet", + "a": [ 4, 4.5, 5, 6 ], + "b": [ 2.5, 2.5, 2.5, 2.5 ], + "line": { + "shape": "spline", + "smoothing": 1, + "color": "red" + }, + "mode": "lines+markers", + "marker": { + "size": 15, + "symbol": "arrow", + "angle": 90, + "angleref": "previous" + }, + "carpet": "c1" + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_simple_contour.json b/test/image/mocks/tooltip_simple_contour.json new file mode 100644 index 00000000000..64da1e8a71e --- /dev/null +++ b/test/image/mocks/tooltip_simple_contour.json @@ -0,0 +1,10424 @@ +{ + "data": [ + { + "z": [ + [ + -2.26419383564e-17, + 5.11137762735e-17, + 2.29068249466e-17, + -4.64445515358e-17, + -2.71681363064e-17, + 3.52782392146e-17, + 3.12812458983e-17, + -1.85388995493e-17, + -2.90565613908e-17, + 1.62852812196e-18, + 1.69838675383e-17, + 5.15034857713e-18, + -1.80243342064e-18, + 4.4691901237e-18, + 1.1378292691e-18, + -1.68428473888e-17, + -2.26504780047e-17, + 1.73890813469e-18, + 3.51288100042e-17, + 3.96423531438e-17, + 4.67616037607e-18, + -4.07835618714e-17, + -5.71950096717e-17, + -3.0471630867e-17, + 1.8935669033e-17, + 5.61695341475e-17, + 5.89042177312e-17, + 2.96000565994e-17, + -1.13892013359e-17, + -4.18150884809e-17, + -5.00475678101e-17, + -3.80142393833e-17, + -1.62198610649e-17, + 3.7708393162e-18, + 1.47612757809e-17, + 1.55091916512e-17, + 9.2438950339e-18, + 9.45270970304e-19, + -5.02910953514e-18, + -6.20566802174e-18, + -2.14529422973e-18, + 6.10761678723e-18, + 1.680449779e-17, + 2.81639504362e-17, + 3.878527871e-17, + 4.77997994234e-17, + 5.48315413037e-17, + 5.98566544058e-17, + 6.30351653884e-17, + 6.45621795067e-17, + 6.45621795067e-17, + 6.30351653884e-17, + 5.98566544058e-17, + 5.48315413037e-17, + 4.77997994234e-17, + 3.878527871e-17, + 2.81639504362e-17, + 1.680449779e-17, + 6.10761678723e-18, + -2.14529422973e-18, + -6.20566802174e-18, + -5.02910953514e-18, + 9.45270970304e-19, + 9.2438950339e-18, + 1.55091916512e-17, + 1.47612757809e-17, + 3.7708393162e-18, + -1.62198610649e-17, + -3.80142393833e-17, + -5.00475678101e-17, + -4.18150884809e-17, + -1.13892013359e-17, + 2.96000565994e-17, + 5.89042177312e-17, + 5.61695341475e-17, + 1.8935669033e-17, + -3.0471630867e-17, + -5.71950096717e-17, + -4.07835618714e-17, + 4.67616037607e-18, + 3.96423531438e-17, + 3.51288100042e-17, + 1.73890813469e-18, + -2.26504780047e-17, + -1.68428473888e-17, + 1.1378292691e-18, + 4.4691901237e-18, + -1.80243342064e-18, + 5.15034857713e-18, + 1.69838675383e-17, + 1.62852812196e-18, + -2.90565613908e-17, + -1.85388995493e-17, + 3.12812458983e-17, + 3.52782392146e-17, + -2.71681363064e-17, + -4.64445515358e-17, + 2.29068249466e-17, + 5.11137762735e-17, + -2.26419383564e-17 + ], + [ + 0.0266325682552, + 0.0112819715197, + -0.0258396324984, + -0.0126430958126, + 0.0217665292197, + 0.0152358579043, + -0.0143734135825, + -0.0162013012304, + 0.00507666015618, + 0.0125468901498, + 0.00185133935869, + -0.0046072883364, + -0.00111433209215, + -0.000782670903964, + -0.00633009424671, + -0.00513632427357, + 0.00747493904712, + 0.0173949834257, + 0.00954855542713, + -0.0117467098724, + -0.0261787231336, + -0.0187984518422, + 0.00545427133115, + 0.0273719333746, + 0.0306924919559, + 0.0140787896954, + -0.0103708090981, + -0.0276312283782, + -0.0295929217232, + -0.0180525660439, + -0.00114262279354, + 0.0126029032463, + 0.0184986396858, + 0.0166668651864, + 0.0104358760495, + 0.00388838708379, + -0.0000234079976273, + -0.000221792647614, + 0.00273726192057, + 0.00739968390306, + 0.0121755176724, + 0.015856345386, + 0.0178233671179, + 0.0180136340288, + 0.0167575317222, + 0.0145870014444, + 0.0120756731898, + 0.00973398858679, + 0.00795615127314, + 0.00700306048606, + 0.00700306048606, + 0.00795615127314, + 0.00973398858679, + 0.0120756731898, + 0.0145870014444, + 0.0167575317222, + 0.0180136340288, + 0.0178233671179, + 0.015856345386, + 0.0121755176724, + 0.00739968390306, + 0.00273726192057, + -0.000221792647614, + -0.0000234079976273, + 0.00388838708379, + 0.0104358760495, + 0.0166668651864, + 0.0184986396858, + 0.0126029032463, + -0.00114262279354, + -0.0180525660439, + -0.0295929217232, + -0.0276312283782, + -0.0103708090981, + 0.0140787896954, + 0.0306924919559, + 0.0273719333746, + 0.00545427133115, + -0.0187984518422, + -0.0261787231336, + -0.0117467098724, + 0.00954855542713, + 0.0173949834257, + 0.00747493904712, + -0.00513632427357, + -0.00633009424671, + -0.000782670903964, + -0.00111433209215, + -0.0046072883364, + 0.00185133935869, + 0.0125468901498, + 0.00507666015618, + -0.0162013012304, + -0.0143734135825, + 0.0152358579043, + 0.0217665292197, + -0.0126430958126, + -0.0258396324984, + 0.0112819715197, + 0.0266325682552 + ], + [ + 0.024266179731, + -0.0525348824234, + -0.0245264672664, + 0.0476832593255, + 0.0288222873104, + -0.0360593354494, + -0.0328646078072, + 0.0187001449329, + 0.0302818701327, + -0.00129147461524, + -0.0175575172945, + -0.00548953984885, + 0.0018353451137, + -0.00466450297704, + -0.00138215083286, + 0.0173336214637, + 0.0237737294228, + -0.00125618116878, + -0.0362244969703, + -0.0416064936461, + -0.00569572683366, + 0.0418532313052, + 0.0597244422396, + 0.0326062880649, + -0.0187551868448, + -0.0580964023733, + -0.0617435106133, + -0.0317490915377, + 0.0109427152628, + 0.043067134408, + 0.0522130308581, + 0.0400996713113, + 0.0175319269468, + -0.00341069050986, + -0.0150978413342, + -0.0160923045532, + -0.00966848449775, + -0.000995920405358, + 0.00534938957967, + 0.00673030068597, + 0.00263308851218, + -0.00589042373094, + -0.01703087304, + -0.0289251606864, + -0.0400951161023, + -0.0496127207278, + -0.0570645947366, + -0.0624084171755, + -0.0657985092257, + -0.0674304971649, + -0.0674304971649, + -0.0657985092257, + -0.0624084171755, + -0.0570645947366, + -0.0496127207278, + -0.0400951161023, + -0.0289251606864, + -0.01703087304, + -0.00589042373094, + 0.00263308851218, + 0.00673030068597, + 0.00534938957967, + -0.000995920405359, + -0.00966848449775, + -0.0160923045532, + -0.0150978413342, + -0.00341069050986, + 0.0175319269468, + 0.0400996713113, + 0.0522130308581, + 0.043067134408, + 0.0109427152628, + -0.0317490915377, + -0.0617435106133, + -0.0580964023733, + -0.0187551868448, + 0.0326062880649, + 0.0597244422396, + 0.0418532313052, + -0.00569572683366, + -0.0416064936461, + -0.0362244969703, + -0.00125618116878, + 0.0237737294228, + 0.0173336214637, + -0.00138215083286, + -0.00466450297704, + 0.0018353451137, + -0.00548953984885, + -0.0175575172945, + -0.00129147461524, + 0.0302818701327, + 0.0187001449329, + -0.0328646078072, + -0.0360593354494, + 0.0288222873104, + 0.0476832593255, + -0.0245264672664, + -0.0525348824234, + 0.024266179731 + ], + [ + -0.0759141069589, + -0.0396612193267, + 0.0735727745134, + 0.0431309571058, + -0.0610333181189, + -0.0494462103595, + 0.0386736424994, + 0.0502611821142, + -0.0114371961838, + -0.0373703541842, + -0.00759055331138, + 0.0130182258965, + 0.00352762464551, + 0.00176684965644, + 0.018639875881, + 0.01733617193, + -0.0193778272339, + -0.0518778148282, + -0.0327376690014, + 0.0299772168441, + 0.0772470036253, + 0.0609881945262, + -0.00909803202975, + -0.0776632511362, + -0.0937412002729, + -0.0489429103235, + 0.0235409696394, + 0.0786534994387, + 0.0896544159059, + 0.0590729103178, + 0.00967299985075, + -0.0328537612921, + -0.0531962867268, + -0.0502481994144, + -0.0330274958592, + -0.0135654603748, + -0.0010901854082, + 0.000544480422946, + -0.00755492392208, + -0.0213566185554, + -0.0361619664876, + -0.0482231025708, + -0.0554654885085, + -0.0574734181445, + -0.0550571252439, + -0.0496984306358, + -0.0430672137974, + -0.0366893528883, + -0.0317662224951, + -0.0291044254715, + -0.0291044254715, + -0.0317662224951, + -0.0366893528883, + -0.0430672137974, + -0.0496984306358, + -0.0550571252439, + -0.0574734181445, + -0.0554654885085, + -0.0482231025708, + -0.0361619664876, + -0.0213566185554, + -0.00755492392208, + 0.000544480422946, + -0.0010901854082, + -0.0135654603748, + -0.0330274958592, + -0.0502481994145, + -0.0531962867268, + -0.032853761292, + 0.00967299985075, + 0.0590729103178, + 0.0896544159059, + 0.0786534994387, + 0.0235409696394, + -0.0489429103235, + -0.0937412002729, + -0.0776632511362, + -0.00909803202975, + 0.0609881945262, + 0.0772470036253, + 0.0299772168441, + -0.0327376690014, + -0.0518778148282, + -0.0193778272339, + 0.01733617193, + 0.018639875881, + 0.00176684965644, + 0.00352762464551, + 0.0130182258965, + -0.00759055331138, + -0.0373703541842, + -0.0114371961838, + 0.0502611821142, + 0.0386736424994, + -0.0494462103595, + -0.0610333181189, + 0.0431309571058, + 0.0735727745134, + -0.0396612193267, + -0.0759141069589 + ], + [ + -0.0617155293165, + 0.0948961763657, + 0.0618054169741, + -0.0848230488047, + -0.0678338897137, + 0.060983691684, + 0.0715107329077, + -0.0269658709889, + -0.0613274293135, + -0.00458127527938, + 0.0328747482517, + 0.0132090717242, + -0.00291866827564, + 0.00946218444421, + 0.00625176303977, + -0.0306367288864, + -0.0502489605065, + -0.00741518289701, + 0.0647619747438, + 0.087282165606, + 0.0258851607968, + -0.0704980284661, + -0.118958599712, + -0.0788243296068, + 0.0189700683932, + 0.104826772064, + 0.125860048861, + 0.077435694418, + -0.00442269904122, + -0.0734812901002, + -0.100943071008, + -0.0852418047501, + -0.0446949014181, + -0.00287340909883, + 0.0234559609746, + 0.0291431645409, + 0.0188640869099, + 0.00206920056086, + -0.0120022011547, + -0.0173693674209, + -0.0121121875623, + 0.00241569895732, + 0.0230414064799, + 0.0461650239442, + 0.0687097966044, + 0.0885559721577, + 0.104564371373, + 0.116356992702, + 0.124007208386, + 0.127746245743, + 0.127746245743, + 0.124007208386, + 0.116356992702, + 0.104564371373, + 0.0885559721577, + 0.0687097966044, + 0.0461650239442, + 0.0230414064799, + 0.00241569895732, + -0.0121121875623, + -0.0173693674209, + -0.0120022011547, + 0.00206920056086, + 0.0188640869099, + 0.0291431645409, + 0.0234559609746, + -0.00287340909883, + -0.0446949014181, + -0.0852418047501, + -0.100943071008, + -0.0734812901002, + -0.00442269904122, + 0.077435694418, + 0.125860048861, + 0.104826772064, + 0.0189700683932, + -0.0788243296068, + -0.118958599712, + -0.0704980284661, + 0.0258851607968, + 0.087282165606, + 0.0647619747438, + -0.00741518289701, + -0.0502489605065, + -0.0306367288864, + 0.00625176303977, + 0.00946218444421, + -0.00291866827564, + 0.0132090717242, + 0.0328747482517, + -0.00458127527938, + -0.0613274293135, + -0.0269658709889, + 0.0715107329077, + 0.060983691684, + -0.0678338897137, + -0.0848230488047, + 0.0618054169741, + 0.0948961763657, + -0.0617155293165 + ], + [ + 0.106050239301, + 0.0879015604124, + -0.102325990628, + -0.0909389740964, + 0.0807019172559, + 0.0950366175843, + -0.0438754268251, + -0.0876996341545, + 0.00270994646265, + 0.0589452353564, + 0.0206243391329, + -0.0175760656371, + -0.00642723365617, + -0.000424289000745, + -0.0284351500794, + -0.0357886362113, + 0.0183792743299, + 0.0817850492759, + 0.0694193972043, + -0.0260288601063, + -0.118115357712, + -0.116600914008, + -0.0157941453259, + 0.105355971013, + 0.156490089905, + 0.106087531791, + -0.00581334290736, + -0.107499723508, + -0.14638075659, + -0.114605197308, + -0.0416048753315, + 0.031393024241, + 0.0748320906439, + 0.0808222299097, + 0.0596558238303, + 0.0295251838119, + 0.00662099160356, + -0.000352925693844, + 0.00919648511301, + 0.0302645579685, + 0.055709389992, + 0.0790853644725, + 0.0961960547666, + 0.105432751443, + 0.10731744779, + 0.103713713628, + 0.0970458940323, + 0.0897015021157, + 0.0836567538336, + 0.0802858020076, + 0.0802858020076, + 0.0836567538336, + 0.0897015021157, + 0.0970458940323, + 0.103713713628, + 0.10731744779, + 0.105432751443, + 0.0961960547666, + 0.0790853644725, + 0.055709389992, + 0.0302645579685, + 0.00919648511301, + -0.000352925693844, + 0.00662099160356, + 0.0295251838119, + 0.0596558238303, + 0.0808222299097, + 0.0748320906439, + 0.031393024241, + -0.0416048753315, + -0.114605197308, + -0.14638075659, + -0.107499723508, + -0.00581334290736, + 0.106087531791, + 0.156490089905, + 0.105355971013, + -0.0157941453259, + -0.116600914008, + -0.118115357712, + -0.0260288601063, + 0.0694193972043, + 0.0817850492759, + 0.0183792743299, + -0.0357886362113, + -0.0284351500794, + -0.000424289000745, + -0.00642723365617, + -0.0175760656371, + 0.0206243391329, + 0.0589452353564, + 0.00270994646265, + -0.0876996341545, + -0.0438754268251, + 0.0950366175843, + 0.0807019172559, + -0.0909389740964, + -0.102325990628, + 0.0879015604124, + 0.106050239301 + ], + [ + 0.121776367438, + -0.107389992978, + -0.120773294629, + 0.0921099056337, + 0.122550642145, + -0.0568192602361, + -0.116134638414, + 0.0105892580812, + 0.0885266153997, + 0.025338903802, + -0.0404475755559, + -0.0245040850856, + 0.00212790042206, + -0.0136836021822, + -0.0180260988626, + 0.0324792763436, + 0.077893361401, + 0.0367392470445, + -0.0707395064511, + -0.133570278182, + -0.0748885358023, + 0.0640036746269, + 0.165879388514, + 0.146978072714, + 0.0227451309235, + -0.116889893417, + -0.183005587452, + -0.145884593179, + -0.0404632696512, + 0.0692172460255, + 0.132210618675, + 0.132992165067, + 0.088450509583, + 0.0300334865451, + -0.014759066592, + -0.0326371479424, + -0.0251370025436, + -0.00310415202557, + 0.020302945714, + 0.0348267136183, + 0.0353885197884, + 0.0218679681231, + -0.00249760673704, + -0.0330171077458, + -0.0650681603531, + -0.0949802419464, + -0.120321376296, + -0.139773738197, + -0.152806030723, + -0.159309925957, + -0.159309925957, + -0.152806030723, + -0.139773738197, + -0.120321376296, + -0.0949802419464, + -0.0650681603531, + -0.0330171077458, + -0.00249760673704, + 0.0218679681231, + 0.0353885197884, + 0.0348267136183, + 0.020302945714, + -0.00310415202557, + -0.0251370025436, + -0.0326371479424, + -0.014759066592, + 0.0300334865451, + 0.088450509583, + 0.132992165067, + 0.132210618675, + 0.0692172460255, + -0.0404632696512, + -0.145884593179, + -0.183005587452, + -0.116889893417, + 0.0227451309235, + 0.146978072714, + 0.165879388514, + 0.0640036746269, + -0.0748885358023, + -0.133570278182, + -0.0707395064511, + 0.0367392470445, + 0.077893361401, + 0.0324792763436, + -0.0180260988626, + -0.0136836021822, + 0.00212790042206, + -0.0245040850856, + -0.0404475755559, + 0.025338903802, + 0.0885266153997, + 0.0105892580812, + -0.116134638414, + -0.0568192602361, + 0.122550642145, + 0.0921099056337, + -0.120773294629, + -0.107389992978, + 0.121776367438 + ], + [ + -0.0931677098643, + -0.156263045743, + 0.088713543881, + 0.154534856811, + -0.0596569863707, + -0.146613681345, + 0.0136699847255, + 0.119487731767, + 0.0300424976406, + -0.0680373626904, + -0.0425438332602, + 0.0138636970908, + 0.00928514232238, + -0.00464018922833, + 0.0306784816264, + 0.0596009738617, + 0.00534141450789, + -0.0940981395156, + -0.118677151129, + -0.0163974812743, + 0.127772615139, + 0.178697018243, + 0.0840691462324, + -0.0836012103319, + -0.198741322064, + -0.185199685103, + -0.0620270048189, + 0.0870606864801, + 0.178926717089, + 0.178626818793, + 0.105716918112, + 0.00900134370754, + -0.0657781487792, + -0.0960794698846, + -0.0850452031845, + -0.05178000933, + -0.0184204677309, + -0.000715398343769, + -0.00450336713872, + -0.02705196913, + -0.0607900791825, + -0.0971684090728, + -0.129345825231, + -0.153374085266, + -0.1681747049, + -0.174826233493, + -0.175632553326, + -0.173277077345, + -0.170196420382, + -0.168185474717, + -0.168185474717, + -0.170196420382, + -0.173277077345, + -0.175632553326, + -0.174826233493, + -0.1681747049, + -0.153374085266, + -0.129345825231, + -0.0971684090728, + -0.0607900791825, + -0.02705196913, + -0.00450336713872, + -0.00071539834377, + -0.0184204677309, + -0.05178000933, + -0.0850452031845, + -0.0960794698846, + -0.0657781487792, + 0.00900134370754, + 0.105716918112, + 0.178626818793, + 0.178926717089, + 0.0870606864801, + -0.0620270048189, + -0.185199685103, + -0.198741322064, + -0.0836012103319, + 0.0840691462324, + 0.178697018243, + 0.127772615139, + -0.0163974812743, + -0.118677151129, + -0.0940981395156, + 0.00534141450789, + 0.0596009738617, + 0.0306784816264, + -0.00464018922833, + 0.00928514232238, + 0.0138636970908, + -0.0425438332602, + -0.0680373626904, + 0.0300424976406, + 0.119487731767, + 0.0136699847255, + -0.146613681345, + -0.0596569863707, + 0.154534856811, + 0.088713543881, + -0.156263045743, + -0.0931677098643 + ], + [ + -0.1911989951, + 0.0641127489257, + 0.188099468007, + -0.0460440211374, + -0.177648497018, + 0.00593194815502, + 0.149636063692, + 0.0393365216261, + -0.0963767027713, + -0.061239610825, + 0.0314135223921, + 0.036447369173, + 0.0014411598273, + 0.0149272323704, + 0.0358393420063, + -0.0141065935314, + -0.0943449708575, + -0.0869997812013, + 0.0356938171195, + 0.158807003923, + 0.149341665925, + -0.000981310049461, + -0.169450251805, + -0.219825749208, + -0.115861444431, + 0.0641052621724, + 0.200869403331, + 0.220367363782, + 0.129380214552, + -0.00767002771803, + -0.118546665217, + -0.162255304027, + -0.139629473661, + -0.0799782340625, + -0.0190718068604, + 0.0180015293646, + 0.0233517995375, + 0.00357384026303, + -0.0274411267246, + -0.0556279421721, + -0.0712606389449, + -0.0703935310597, + -0.0540506035967, + -0.0263655499097, + 0.00733812298568, + 0.041972383534, + 0.0734591955502, + 0.0989507676246, + 0.116696819497, + 0.125763595254, + 0.125763595254, + 0.116696819497, + 0.0989507676246, + 0.0734591955502, + 0.041972383534, + 0.00733812298568, + -0.0263655499097, + -0.0540506035967, + -0.0703935310597, + -0.0712606389449, + -0.0556279421721, + -0.0274411267246, + 0.00357384026303, + 0.0233517995375, + 0.0180015293646, + -0.0190718068604, + -0.0799782340625, + -0.139629473661, + -0.162255304027, + -0.118546665217, + -0.00767002771803, + 0.129380214552, + 0.220367363782, + 0.200869403331, + 0.0641052621724, + -0.115861444431, + -0.219825749208, + -0.169450251805, + -0.000981310049461, + 0.149341665925, + 0.158807003923, + 0.0356938171195, + -0.0869997812013, + -0.0943449708575, + -0.0141065935314, + 0.0358393420063, + 0.0149272323704, + 0.0014411598273, + 0.036447369173, + 0.0314135223921, + -0.061239610825, + -0.0963767027713, + 0.0393365216261, + 0.149636063692, + 0.00593194815502, + -0.177648497018, + -0.0460440211374, + 0.188099468007, + 0.0641127489257, + -0.1911989951 + ], + [ + 0.0145592148561, + 0.215280011178, + -0.0108991355521, + -0.204400612524, + -0.0180299478421, + 0.175301909469, + 0.0581904268036, + -0.121034364561, + -0.083201992563, + 0.0496823811541, + 0.0657016359855, + 0.00177334333886, + -0.0102264619472, + 0.0128887082088, + -0.0183693244176, + -0.0773381860847, + -0.0532198507055, + 0.0678532229191, + 0.157971467522, + 0.0984056026773, + -0.0767679111476, + -0.211908897163, + -0.183892833406, + -0.0104876252541, + 0.177754458922, + 0.251490048263, + 0.173694804339, + 0.00656718911082, + -0.147901120524, + -0.216004601764, + -0.184790645813, + -0.0916878214027, + 0.00853984182372, + 0.0744120525238, + 0.0917396651213, + 0.0706780084067, + 0.0336230460718, + 0.00263930901053, + -0.00834738962765, + 0.00446330105363, + 0.0369231379545, + 0.0808121990523, + 0.127450437481, + 0.170047356526, + 0.204640928761, + 0.229964218051, + 0.24672249799, + 0.256693501802, + 0.261911882018, + 0.264055433043, + 0.264055433043, + 0.261911882018, + 0.256693501802, + 0.24672249799, + 0.229964218051, + 0.204640928761, + 0.170047356526, + 0.127450437481, + 0.0808121990523, + 0.0369231379545, + 0.00446330105363, + -0.00834738962765, + 0.00263930901053, + 0.0336230460718, + 0.0706780084067, + 0.0917396651213, + 0.0744120525238, + 0.00853984182372, + -0.0916878214027, + -0.184790645813, + -0.216004601764, + -0.147901120524, + 0.00656718911082, + 0.173694804339, + 0.251490048263, + 0.177754458922, + -0.0104876252541, + -0.183892833406, + -0.211908897163, + -0.0767679111476, + 0.0984056026773, + 0.157971467522, + 0.0678532229191, + -0.0532198507055, + -0.0773381860847, + -0.0183693244176, + 0.0128887082088, + -0.0102264619472, + 0.00177334333886, + 0.0657016359855, + 0.0496823811541, + -0.083201992563, + -0.121034364561, + 0.0581904268036, + 0.175301909469, + -0.0180299478421, + -0.204400612524, + -0.0108991355521, + 0.215280011178, + 0.0145592148561 + ], + [ + 0.223005029797, + 0.0466540142473, + -0.217622931618, + -0.0609766815485, + 0.190022877202, + 0.0900851806467, + -0.136424253695, + -0.111156077619, + 0.0626835109121, + 0.0964964987032, + 0.00086414680681, + -0.0401489749899, + -0.00727910256712, + -0.00973308273203, + -0.0506495184876, + -0.0268274750857, + 0.077247230302, + 0.135970202016, + 0.0470276223213, + -0.125358896183, + -0.211705572502, + -0.116254985745, + 0.0902958113399, + 0.243619628603, + 0.230062323653, + 0.0666225077293, + -0.131951487361, + -0.246931813455, + -0.229265238393, + -0.111164099244, + 0.032416071053, + 0.13397200525, + 0.163937099624, + 0.132579120594, + 0.0727558176332, + 0.0187385658434, + -0.00797934443791, + -0.00261652491448, + 0.0267322312434, + 0.0661149811609, + 0.102094986988, + 0.125567204377, + 0.13285351843, + 0.124891354226, + 0.105562983219, + 0.0799895299435, + 0.0532392691772, + 0.0295713663874, + 0.0121311280851, + 0.00292822159173, + 0.00292822159173, + 0.0121311280851, + 0.0295713663874, + 0.0532392691772, + 0.0799895299435, + 0.105562983219, + 0.124891354226, + 0.13285351843, + 0.125567204377, + 0.102094986988, + 0.0661149811609, + 0.0267322312434, + -0.00261652491448, + -0.00797934443791, + 0.0187385658434, + 0.0727558176332, + 0.132579120594, + 0.163937099624, + 0.13397200525, + 0.032416071053, + -0.111164099244, + -0.229265238393, + -0.246931813455, + -0.131951487361, + 0.0666225077293, + 0.230062323653, + 0.243619628603, + 0.0902958113399, + -0.116254985745, + -0.211705572502, + -0.125358896183, + 0.0470276223213, + 0.135970202016, + 0.077247230302, + -0.0268274750857, + -0.0506495184876, + -0.00973308273203, + -0.00727910256712, + -0.0401489749899, + 0.00086414680681, + 0.0964964987032, + 0.0626835109121, + -0.111156077619, + -0.136424253695, + 0.0900851806467, + 0.190022877202, + -0.0609766815485, + -0.217622931618, + 0.0466540142473, + 0.223005029797 + ], + [ + 0.119255112047, + -0.204743768666, + -0.119988551508, + 0.184418494003, + 0.134641229637, + -0.135380868315, + -0.145747092763, + 0.063876038415, + 0.128252305155, + 0.00459293730167, + -0.0708005740898, + -0.0262781867055, + 0.00669462421658, + -0.0199151521615, + -0.0107665055955, + 0.0678489137351, + 0.104830459044, + 0.0086983968601, + -0.143530155429, + -0.183438433477, + -0.0449638503964, + 0.160533163938, + 0.255669096429, + 0.159657686299, + -0.0542706608997, + -0.234450967434, + -0.270380923032, + -0.157579618335, + 0.0223327339412, + 0.168994810244, + 0.222403423937, + 0.182292974159, + 0.090614961268, + -0.000851264826913, + -0.0564258982702, + -0.0662815764288, + -0.0418645781765, + -0.00450330962945, + 0.0255239099888, + 0.0354826513788, + 0.0217021117295, + -0.0123463017782, + -0.0593521011287, + -0.111252647907, + -0.161295022931, + -0.204937988695, + -0.239848977345, + -0.265376285568, + -0.281836111503, + -0.289848007878, + -0.289848007878, + -0.281836111503, + -0.265376285568, + -0.239848977345, + -0.204937988695, + -0.161295022931, + -0.111252647907, + -0.0593521011287, + -0.0123463017782, + 0.0217021117295, + 0.0354826513788, + 0.0255239099888, + -0.00450330962945, + -0.0418645781765, + -0.0662815764288, + -0.0564258982702, + -0.000851264826912, + 0.090614961268, + 0.182292974159, + 0.222403423937, + 0.168994810244, + 0.0223327339412, + -0.157579618335, + -0.270380923032, + -0.234450967434, + -0.0542706608997, + 0.159657686299, + 0.255669096429, + 0.160533163938, + -0.0449638503964, + -0.183438433477, + -0.143530155429, + 0.0086983968601, + 0.104830459044, + 0.0678489137351, + -0.0107665055955, + -0.0199151521615, + 0.00669462421658, + -0.0262781867055, + -0.0708005740898, + 0.00459293730167, + 0.128252305155, + 0.063876038415, + -0.145747092763, + -0.135380868315, + 0.134641229637, + 0.184418494003, + -0.119988551508, + -0.204743768666, + 0.119255112047 + ], + [ + -0.154484272701, + -0.183300900387, + 0.148493098025, + 0.184977836459, + -0.110122273275, + -0.183250166383, + 0.0468486811057, + 0.158355129973, + 0.0187713626929, + -0.0980410051566, + -0.0475143525222, + 0.0247805455767, + 0.0120421086119, + -0.00290804560144, + 0.0460660071506, + 0.0728861716626, + -0.012047544557, + -0.137180410463, + -0.144120438414, + 0.0108794515654, + 0.193197264301, + 0.22841926283, + 0.0736510977993, + -0.151447260648, + -0.278597390871, + -0.225278451803, + -0.0393532181058, + 0.15680400948, + 0.257255387121, + 0.229468312324, + 0.112883862925, + -0.021255915686, + -0.113794291509, + -0.141211986115, + -0.114624190436, + -0.0638419132449, + -0.0192816823084, + -0.000205039056934, + -0.0115030050754, + -0.046818910492, + -0.0943042078555, + -0.141956807477, + -0.18099012794, + -0.207030387537, + -0.219714790521, + -0.221476937102, + -0.216168468776, + -0.20790029514, + -0.200241218752, + -0.195750593505, + -0.195750593505, + -0.200241218752, + -0.20790029514, + -0.216168468776, + -0.221476937102, + -0.219714790521, + -0.207030387537, + -0.18099012794, + -0.141956807477, + -0.0943042078555, + -0.046818910492, + -0.0115030050754, + -0.000205039056934, + -0.0192816823084, + -0.0638419132449, + -0.114624190436, + -0.141211986115, + -0.113794291509, + -0.021255915686, + 0.112883862925, + 0.229468312324, + 0.257255387121, + 0.15680400948, + -0.0393532181058, + -0.225278451803, + -0.278597390871, + -0.151447260648, + 0.0736510977993, + 0.22841926283, + 0.193197264301, + 0.0108794515654, + -0.144120438414, + -0.137180410463, + -0.012047544557, + 0.0728861716626, + 0.0460660071506, + -0.00290804560144, + 0.0120421086119, + 0.0247805455767, + -0.0475143525222, + -0.0980410051566, + 0.0187713626929, + 0.158355129973, + 0.0468486811057, + -0.183250166383, + -0.110122273275, + 0.184977836459, + 0.148493098025, + -0.183300900387, + -0.154484272701 + ], + [ + -0.229520162352, + 0.0771429282543, + 0.226131401144, + -0.0555141755942, + -0.213918729608, + 0.00724851485504, + 0.180515076154, + 0.0474183278032, + -0.116501071014, + -0.0740386874673, + 0.0380683770796, + 0.0441707994327, + 0.00174248153028, + 0.0181359036904, + 0.0435633875443, + -0.0172150974749, + -0.115003885597, + -0.106111890448, + 0.0436964316364, + 0.194312012371, + 0.182872335161, + -0.00132602291533, + -0.208215328523, + -0.270359894098, + -0.142591850999, + 0.0792117193511, + 0.248208801621, + 0.2725952572, + 0.160192276919, + -0.00964191258737, + -0.147402084704, + -0.201953770457, + -0.173995732479, + -0.0997663078581, + -0.0237808890111, + 0.0225699227679, + 0.0292832005663, + 0.0044859341099, + -0.0344801070165, + -0.0699664864563, + -0.0897085893952, + -0.0886807613687, + -0.0681164678748, + -0.0331904138912, + 0.00939358961031, + 0.0532045291403, + 0.0930713191475, + 0.125370923929, + 0.147868376591, + 0.159366457086, + 0.159366457086, + 0.147868376591, + 0.125370923929, + 0.0930713191475, + 0.0532045291403, + 0.00939358961031, + -0.0331904138912, + -0.0681164678748, + -0.0886807613687, + -0.0897085893952, + -0.0699664864563, + -0.0344801070165, + 0.0044859341099, + 0.0292832005663, + 0.0225699227679, + -0.0237808890111, + -0.0997663078581, + -0.173995732479, + -0.201953770457, + -0.147402084704, + -0.00964191258737, + 0.160192276919, + 0.2725952572, + 0.248208801621, + 0.0792117193511, + -0.142591850999, + -0.270359894098, + -0.208215328523, + -0.00132602291532, + 0.182872335161, + 0.194312012371, + 0.0436964316364, + -0.106111890448, + -0.115003885597, + -0.0172150974749, + 0.0435633875443, + 0.0181359036904, + 0.00174248153028, + 0.0441707994327, + 0.0380683770796, + -0.0740386874673, + -0.116501071014, + 0.0474183278032, + 0.180515076154, + 0.00724851485503, + -0.213918729608, + -0.0555141755942, + 0.226131401144, + 0.0771429282543, + -0.229520162352 + ], + [ + -0.0222017499811, + 0.237052861202, + 0.0254582785081, + -0.222518133766, + -0.0537004598141, + 0.184569900955, + 0.0903509830606, + -0.119113914862, + -0.106274420731, + 0.0400922655326, + 0.0752674777609, + 0.00907286597133, + -0.0104873469527, + 0.0165515906935, + -0.0122798084027, + -0.084556236525, + -0.0751089056246, + 0.0545588261503, + 0.174750152153, + 0.136318960443, + -0.0517627225872, + -0.225980701332, + -0.230273926299, + -0.0554662553399, + 0.166861586892, + 0.28250317356, + 0.227115402555, + 0.0517477280447, + -0.13298220317, + -0.234533480601, + -0.223795610731, + -0.132350248236, + -0.019321650548, + 0.0643669160569, + 0.0958068381898, + 0.0806482174189, + 0.0414701149404, + 0.00361928931881, + -0.0147992249304, + -0.00663230534082, + 0.025690752158, + 0.0740502746743, + 0.128741249087, + 0.18144188859, + 0.226661454811, + 0.261909805006, + 0.28707840388, + 0.303503933815, + 0.31304470207, + 0.31734452268, + 0.31734452268, + 0.31304470207, + 0.303503933815, + 0.28707840388, + 0.261909805006, + 0.226661454811, + 0.18144188859, + 0.128741249087, + 0.0740502746743, + 0.025690752158, + -0.00663230534082, + -0.0147992249304, + 0.00361928931881, + 0.0414701149404, + 0.0806482174189, + 0.0958068381898, + 0.0643669160569, + -0.019321650548, + -0.132350248236, + -0.223795610731, + -0.234533480601, + -0.13298220317, + 0.0517477280447, + 0.227115402555, + 0.28250317356, + 0.166861586892, + -0.0554662553399, + -0.230273926299, + -0.225980701332, + -0.0517627225872, + 0.136318960443, + 0.174750152153, + 0.0545588261503, + -0.0751089056246, + -0.084556236525, + -0.0122798084027, + 0.0165515906935, + -0.0104873469527, + 0.00907286597133, + 0.0752674777609, + 0.0400922655326, + -0.106274420731, + -0.119113914862, + 0.0903509830606, + 0.184569900955, + -0.0537004598141, + -0.222518133766, + 0.0254582785081, + 0.237052861202, + -0.0222017499811 + ], + [ + 0.198686721862, + 0.116286870828, + -0.19302169541, + -0.125117720237, + 0.159096678741, + 0.14044094009, + -0.0984193975723, + -0.139902417079, + 0.0252891420517, + 0.102048028759, + 0.0241021101284, + -0.0345665350641, + -0.0100316744351, + -0.00395431083593, + -0.0511197674244, + -0.0512985460285, + 0.0490587989453, + 0.144425613444, + 0.0983667260784, + -0.0755830515628, + -0.215430548307, + -0.179803882712, + 0.0137660482277, + 0.213229590138, + 0.269844308947, + 0.151061981369, + -0.0547899025412, + -0.219017582945, + -0.260057680838, + -0.179234734835, + -0.0386922293189, + 0.0871850386311, + 0.151397420357, + 0.147597383551, + 0.099988038762, + 0.0432542395061, + 0.00523569682854, + -0.00140239680036, + 0.0212911520492, + 0.0621102167674, + 0.107273333444, + 0.145363339415, + 0.169712050583, + 0.178574374314, + 0.173977055665, + 0.160117693526, + 0.141909250596, + 0.123941427018, + 0.10988521774, + 0.102233732408, + 0.102233732408, + 0.10988521774, + 0.123941427018, + 0.141909250596, + 0.160117693526, + 0.173977055665, + 0.178574374314, + 0.169712050583, + 0.145363339415, + 0.107273333444, + 0.0621102167674, + 0.0212911520492, + -0.00140239680036, + 0.00523569682854, + 0.0432542395061, + 0.099988038762, + 0.147597383551, + 0.151397420357, + 0.0871850386311, + -0.0386922293189, + -0.179234734835, + -0.260057680838, + -0.219017582945, + -0.0547899025412, + 0.151061981369, + 0.269844308947, + 0.213229590138, + 0.0137660482277, + -0.179803882712, + -0.215430548307, + -0.0755830515628, + 0.0983667260784, + 0.144425613444, + 0.0490587989453, + -0.0512985460285, + -0.0511197674243, + -0.00395431083593, + -0.0100316744351, + -0.0345665350641, + 0.0241021101284, + 0.102048028759, + 0.0252891420517, + -0.139902417079, + -0.0984193975723, + 0.14044094009, + 0.159096678741, + -0.125117720237, + -0.19302169541, + 0.116286870828, + 0.198686721862 + ], + [ + 0.186592161012, + -0.118181254995, + -0.184874420413, + 0.0976637484, + 0.182225224618, + -0.0503662516383, + -0.164830469573, + -0.00875569925012, + 0.118111827693, + 0.0490396071216, + -0.0484641806866, + -0.0372960749453, + 0.00115794924253, + -0.0184474577687, + -0.0317100809421, + 0.0342593882476, + 0.109986394679, + 0.0714437621227, + -0.0774374457489, + -0.188596188844, + -0.133782466841, + 0.0561578782644, + 0.223193154365, + 0.230625512744, + 0.0738464293345, + -0.132812170209, + -0.255518978683, + -0.232510152755, + -0.0967468100314, + 0.065317194947, + 0.174221193093, + 0.196139185513, + 0.145889347608, + 0.0651829690563, + -0.00425820094111, + -0.0382472143771, + -0.0340904936372, + -0.00455276759569, + 0.0318120513076, + 0.0588307290326, + 0.0670429398572, + 0.0542928170038, + 0.0239444766516, + -0.0177315194522, + -0.0638879687555, + -0.108624724429, + -0.147653485078, + -0.17831051172, + -0.199202528876, + -0.209740206364, + -0.209740206364, + -0.199202528876, + -0.17831051172, + -0.147653485078, + -0.108624724429, + -0.0638879687555, + -0.0177315194522, + 0.0239444766516, + 0.0542928170038, + 0.0670429398572, + 0.0588307290326, + 0.0318120513076, + -0.00455276759569, + -0.0340904936372, + -0.0382472143771, + -0.00425820094111, + 0.0651829690563, + 0.145889347608, + 0.196139185513, + 0.174221193093, + 0.065317194947, + -0.0967468100314, + -0.232510152755, + -0.255518978683, + -0.132812170209, + 0.0738464293345, + 0.230625512744, + 0.223193154365, + 0.0561578782644, + -0.133782466841, + -0.188596188844, + -0.0774374457489, + 0.0714437621227, + 0.109986394679, + 0.0342593882476, + -0.0317100809421, + -0.0184474577687, + 0.00115794924253, + -0.0372960749453, + -0.0484641806866, + 0.0490396071216, + 0.118111827693, + -0.00875569925012, + -0.164830469573, + -0.0503662516383, + 0.182225224618, + 0.0976637484, + -0.184874420413, + -0.118181254995, + 0.186592161012 + ], + [ + -0.0106711046146, + -0.204871561077, + 0.00727693514149, + 0.194772078744, + 0.0200318009085, + -0.16695595189, + -0.0579140607036, + 0.114903248252, + 0.0811352373904, + -0.0465758218086, + -0.0635474922297, + -0.00230532189528, + 0.00982199695791, + -0.0126795773725, + 0.0171588291395, + 0.0751317714079, + 0.0532207550055, + -0.0645376174387, + -0.154577876358, + -0.0988069352954, + 0.0726634073298, + 0.20804238387, + 0.18384330275, + 0.0140797040749, + -0.173868822321, + -0.250543634309, + -0.176194550644, + -0.0103353408445, + 0.145690620174, + 0.216775292371, + 0.187918733935, + 0.0953046378149, + -0.00620239209805, + -0.0740831436717, + -0.0929841680615, + -0.0724083051687, + -0.0347992485685, + -0.00276952582211, + 0.0090675098136, + -0.00360861480582, + -0.0368563734037, + -0.0823621865657, + -0.131160592364, + -0.176115139625, + -0.212960272069, + -0.240222207069, + -0.258504749314, + -0.269567691626, + -0.275475887118, + -0.277950040409, + -0.277950040409, + -0.275475887118, + -0.269567691626, + -0.258504749314, + -0.240222207069, + -0.212960272069, + -0.176115139625, + -0.131160592364, + -0.0823621865657, + -0.0368563734037, + -0.00360861480582, + 0.0090675098136, + -0.00276952582212, + -0.0347992485685, + -0.0724083051687, + -0.0929841680615, + -0.0740831436717, + -0.00620239209805, + 0.0953046378149, + 0.187918733935, + 0.216775292371, + 0.145690620174, + -0.0103353408445, + -0.176194550644, + -0.250543634309, + -0.173868822321, + 0.0140797040749, + 0.18384330275, + 0.20804238387, + 0.0726634073298, + -0.0988069352954, + -0.154577876358, + -0.0645376174387, + 0.0532207550055, + 0.0751317714079, + 0.0171588291395, + -0.0126795773725, + 0.00982199695791, + -0.00230532189528, + -0.0635474922297, + -0.0465758218086, + 0.0811352373904, + 0.114903248252, + -0.0579140607036, + -0.16695595189, + 0.0200318009085, + 0.194772078744, + 0.00727693514148, + -0.204871561077, + -0.0106711046146 + ], + [ + -0.165520409298, + -0.0863476864373, + 0.161121673389, + 0.0943730852048, + -0.134330176572, + -0.108808844795, + 0.0856192000756, + 0.11126889029, + -0.0255587564676, + -0.0832576356039, + -0.0168757495146, + 0.0292072647216, + 0.00792298159024, + 0.00400905555143, + 0.0421983596714, + 0.0392900878282, + -0.0442917775343, + -0.118686879468, + -0.0750026276309, + 0.0693272637352, + 0.178843334165, + 0.141542591833, + -0.0215438643226, + -0.182221698722, + -0.220605556628, + -0.115439822599, + 0.0562472068828, + 0.187867869922, + 0.214882931758, + 0.142052205379, + 0.0231271392697, + -0.0800854274238, + -0.130017417488, + -0.123266759171, + -0.0813175761141, + -0.0334933473026, + -0.00265715559637, + 0.00136482166701, + -0.0189660668921, + -0.0537704762751, + -0.0913214087295, + -0.122128913441, + -0.140836368246, + -0.14626537939, + -0.140377374371, + -0.126892659046, + -0.110060716818, + -0.0937991722608, + -0.0812133098771, + -0.0743985392091, + -0.0743985392091, + -0.0812133098771, + -0.0937991722608, + -0.110060716818, + -0.126892659046, + -0.140377374371, + -0.14626537939, + -0.140836368246, + -0.122128913441, + -0.0913214087295, + -0.0537704762751, + -0.0189660668921, + 0.00136482166701, + -0.00265715559637, + -0.0334933473026, + -0.0813175761141, + -0.123266759171, + -0.130017417488, + -0.0800854274238, + 0.0231271392697, + 0.142052205379, + 0.214882931758, + 0.187867869922, + 0.0562472068828, + -0.115439822599, + -0.220605556628, + -0.182221698722, + -0.0215438643226, + 0.141542591833, + 0.178843334165, + 0.0693272637352, + -0.0750026276309, + -0.118686879468, + -0.0442917775343, + 0.0392900878282, + 0.0421983596714, + 0.00400905555143, + 0.00792298159024, + 0.0292072647216, + -0.0168757495146, + -0.0832576356039, + -0.0255587564676, + 0.11126889029, + 0.0856192000756, + -0.108808844795, + -0.134330176572, + 0.0943730852048, + 0.161121673389, + -0.0863476864373, + -0.165520409298 + ], + [ + -0.144805005289, + 0.0823503234318, + 0.14346592155, + -0.0669927404302, + -0.140350851031, + 0.0316282049982, + 0.125329990134, + 0.0119184511941, + -0.0881561088642, + -0.0402069639631, + 0.0348739582022, + 0.0289383722693, + -0.000463666917007, + 0.013820755539, + 0.0255193910483, + -0.0234042775087, + -0.0836259447466, + -0.0588137455554, + 0.0537452508075, + 0.143493686868, + 0.10830923649, + -0.0347980480283, + -0.167389202061, + -0.181091213649, + -0.0660924340626, + 0.093622444767, + 0.194168933456, + 0.183702350393, + 0.0833252746706, + -0.042073271654, + -0.130075049281, + -0.151928967958, + -0.116672651238, + -0.0554461644604, + -0.000821851378641, + 0.0273522099695, + 0.025771379538, + 0.00353236688504, + -0.0251858090386, + -0.0475694196173, + -0.0557749132736, + -0.047624090006, + -0.025370425009, + 0.00627709925829, + 0.0419840027274, + 0.0770316464593, + 0.10789777254, + 0.132318604112, + 0.149047992956, + 0.157513182846, + 0.157513182846, + 0.149047992956, + 0.132318604112, + 0.10789777254, + 0.0770316464593, + 0.0419840027274, + 0.00627709925829, + -0.025370425009, + -0.047624090006, + -0.0557749132736, + -0.0475694196173, + -0.0251858090386, + 0.00353236688504, + 0.025771379538, + 0.0273522099695, + -0.000821851378641, + -0.0554461644604, + -0.116672651238, + -0.151928967958, + -0.130075049281, + -0.042073271654, + 0.0833252746706, + 0.183702350393, + 0.194168933456, + 0.093622444767, + -0.0660924340626, + -0.181091213649, + -0.167389202061, + -0.0347980480283, + 0.10830923649, + 0.143493686868, + 0.0537452508075, + -0.0588137455554, + -0.0836259447466, + -0.0234042775087, + 0.0255193910483, + 0.013820755539, + -0.000463666917007, + 0.0289383722693, + 0.0348739582022, + -0.0402069639631, + -0.0881561088642, + 0.0119184511941, + 0.125329990134, + 0.0316282049982, + -0.140350851031, + -0.0669927404302, + 0.14346592155, + 0.0823503234318, + -0.144805005289 + ], + [ + -0.0131437939141, + 0.141222768974, + 0.0151127668695, + -0.132838900449, + -0.0320293112605, + 0.11044166897, + 0.0540714119327, + -0.0714640554742, + -0.0637926946562, + 0.0241361710235, + 0.045319547885, + 0.00545826297832, + -0.00633588483763, + 0.0100089228578, + -0.00745655710323, + -0.051331658873, + -0.0456472396521, + 0.0332823791706, + 0.106688101733, + 0.0833436833448, + -0.0317983036987, + -0.138866841361, + -0.141760862173, + -0.0341543227121, + 0.103314287292, + 0.175248937815, + 0.141192454783, + 0.0321836964658, + -0.0832177716596, + -0.147074188445, + -0.140687838588, + -0.0833987063615, + -0.0121612039743, + 0.0408597502972, + 0.0609491116916, + 0.0514366041922, + 0.026516981738, + 0.00231990840217, + -0.00950557331881, + -0.00425189377418, + 0.0166346307614, + 0.0479959859386, + 0.0835870053365, + 0.118002029617, + 0.147636101719, + 0.170820278949, + 0.187438186835, + 0.19832641362, + 0.204674875608, + 0.207544375917, + 0.207544375917, + 0.204674875608, + 0.19832641362, + 0.187438186835, + 0.170820278949, + 0.147636101719, + 0.118002029617, + 0.0835870053365, + 0.0479959859386, + 0.0166346307614, + -0.00425189377418, + -0.00950557331881, + 0.00231990840217, + 0.026516981738, + 0.0514366041922, + 0.0609491116916, + 0.0408597502972, + -0.0121612039743, + -0.0833987063615, + -0.140687838588, + -0.147074188445, + -0.0832177716596, + 0.0321836964658, + 0.141192454783, + 0.175248937815, + 0.103314287292, + -0.0341543227121, + -0.141760862173, + -0.138866841361, + -0.0317983036987, + 0.0833436833448, + 0.106688101733, + 0.0332823791706, + -0.0456472396521, + -0.051331658873, + -0.00745655710323, + 0.0100089228578, + -0.00633588483763, + 0.00545826297832, + 0.045319547885, + 0.0241361710235, + -0.0637926946562, + -0.0714640554742, + 0.0540714119327, + 0.11044166897, + -0.0320293112605, + -0.132838900449, + 0.0151127668695, + 0.141222768974, + -0.0131437939141 + ], + [ + 0.0858426587933, + 0.0759390239869, + -0.0831592355773, + -0.0785373188554, + 0.0653221347183, + 0.0816422961608, + -0.0346054055993, + -0.0748434579469, + 0.000313893893263, + 0.0498912639514, + 0.0186359497443, + -0.0145929263826, + -0.00560951989149, + -0.0000543471813804, + -0.0243769436597, + -0.0320821705187, + 0.014348703982, + 0.0713570834532, + 0.0632291055696, + -0.0200515866466, + -0.103988477955, + -0.106440244909, + -0.0182430948369, + 0.092259840675, + 0.142490433289, + 0.100335055567, + -0.000913695977849, + -0.0963495616261, + -0.135858987078, + -0.109493966938, + -0.042653948446, + 0.0265429604945, + 0.0694129646065, + 0.0770776820129, + 0.0581702132807, + 0.0296073813042, + 0.00713673798446, + -0.000267323077825, + 0.00858216220128, + 0.0292252136149, + 0.0548117711459, + 0.0789111052155, + 0.0971525216704, + 0.107683183292, + 0.110806517225, + 0.108243023579, + 0.102357361266, + 0.0955416211674, + 0.0898108284151, + 0.0865830784284, + 0.0865830784284, + 0.0898108284151, + 0.0955416211674, + 0.102357361266, + 0.108243023579, + 0.110806517225, + 0.107683183292, + 0.0971525216704, + 0.0789111052155, + 0.0548117711459, + 0.0292252136149, + 0.00858216220128, + -0.000267323077825, + 0.00713673798446, + 0.0296073813042, + 0.0581702132807, + 0.0770776820129, + 0.0694129646065, + 0.0265429604945, + -0.042653948446, + -0.109493966938, + -0.135858987078, + -0.0963495616261, + -0.000913695977849, + 0.100335055567, + 0.142490433289, + 0.092259840675, + -0.0182430948369, + -0.106440244909, + -0.103988477955, + -0.0200515866466, + 0.0632291055696, + 0.0713570834532, + 0.014348703982, + -0.0320821705187, + -0.0243769436597, + -0.0000543471813803, + -0.00560951989149, + -0.0145929263826, + 0.0186359497443, + 0.0498912639514, + 0.000313893893263, + -0.0748434579469, + -0.0346054055993, + 0.0816422961608, + 0.0653221347183, + -0.0785373188554, + -0.0831592355773, + 0.0759390239869, + 0.0858426587933 + ], + [ + 0.0849929999554, + -0.0155555968308, + -0.0837800490824, + 0.0082715094177, + 0.0778191089142, + 0.00780757920172, + -0.0633196453548, + -0.0248588016288, + 0.0382671264732, + 0.0305665999204, + -0.0102191449887, + -0.0164082730997, + -0.00127696561832, + -0.00602484262594, + -0.0175371768017, + 0.00173412730568, + 0.0402614922924, + 0.0445184562369, + -0.00679454708867, + -0.0680970521411, + -0.0749462699787, + -0.012879693517, + 0.0687152359627, + 0.104095027371, + 0.0668576690547, + -0.0147277055674, + -0.0860622393734, + -0.10688698893, + -0.0730142296029, + -0.0103916719149, + 0.0465516231511, + 0.0747969598394, + 0.0705887578923, + 0.0453405371243, + 0.0158706508544, + -0.00439196369975, + -0.00969497742286, + -0.00166426636616, + 0.0136714797669, + 0.0293433387999, + 0.0399509525206, + 0.0427513817833, + 0.0375621416864, + 0.0260024084574, + 0.0105705677284, + -0.00612004483282, + -0.0218180829565, + -0.0348340525854, + -0.044044063307, + -0.0487951131757, + -0.0487951131757, + -0.044044063307, + -0.0348340525854, + -0.0218180829565, + -0.00612004483282, + 0.0105705677284, + 0.0260024084574, + 0.0375621416864, + 0.0427513817833, + 0.0399509525206, + 0.0293433387999, + 0.0136714797669, + -0.00166426636616, + -0.00969497742286, + -0.00439196369975, + 0.0158706508544, + 0.0453405371243, + 0.0705887578923, + 0.0747969598394, + 0.0465516231511, + -0.0103916719149, + -0.0730142296029, + -0.10688698893, + -0.0860622393734, + -0.0147277055674, + 0.0668576690547, + 0.104095027371, + 0.0687152359627, + -0.012879693517, + -0.0749462699787, + -0.0680970521411, + -0.00679454708867, + 0.0445184562369, + 0.0402614922924, + 0.00173412730568, + -0.0175371768017, + -0.00602484262594, + -0.00127696561832, + -0.0164082730997, + -0.0102191449887, + 0.0305665999204, + 0.0382671264732, + -0.0248588016288, + -0.0633196453548, + 0.00780757920172, + 0.0778191089142, + 0.0082715094177, + -0.0837800490824, + -0.0155555968308, + 0.0849929999554 + ], + [ + 0.028099209249, + -0.0484427504201, + -0.0283833235493, + 0.0438153467588, + 0.0319980914226, + -0.0323186195273, + -0.034815446981, + 0.0153401460941, + 0.0308060186595, + 0.0010817648552, + -0.0171093146003, + -0.00635840006029, + 0.00162942652182, + -0.00485454638778, + -0.00262130248931, + 0.0166683473112, + 0.0258160459813, + 0.00211572485626, + -0.0356623844379, + -0.0457163586652, + -0.0112050225241, + 0.0404197005925, + 0.0645956633798, + 0.0404797150217, + -0.0139140668318, + -0.0601593579178, + -0.069685545855, + -0.040784958751, + 0.00588663675799, + 0.0443369800473, + 0.0586343415328, + 0.0483097535012, + 0.0241277320369, + -0.000266962894413, + -0.0152544080395, + -0.0180050565605, + -0.0114327840722, + -0.00123631636542, + 0.00704258055584, + 0.00983402889781, + 0.00602667039153, + -0.00350077037496, + -0.0167595211578, + -0.0315021470485, + -0.0458097384456, + -0.0583634770012, + -0.0684612649993, + -0.0758807181933, + -0.0806832269126, + -0.0830267802332, + -0.0830267802332, + -0.0806832269126, + -0.0758807181933, + -0.0684612649993, + -0.0583634770012, + -0.0458097384456, + -0.0315021470485, + -0.0167595211578, + -0.00350077037496, + 0.00602667039153, + 0.00983402889781, + 0.00704258055584, + -0.00123631636542, + -0.0114327840722, + -0.0180050565605, + -0.0152544080395, + -0.000266962894413, + 0.0241277320369, + 0.0483097535012, + 0.0586343415328, + 0.0443369800473, + 0.00588663675799, + -0.040784958751, + -0.069685545855, + -0.0601593579178, + -0.0139140668318, + 0.0404797150217, + 0.0645956633798, + 0.0404197005925, + -0.0112050225241, + -0.0457163586652, + -0.0356623844379, + 0.00211572485626, + 0.0258160459813, + 0.0166683473112, + -0.00262130248931, + -0.00485454638778, + 0.00162942652182, + -0.00635840006029, + -0.0171093146003, + 0.0010817648552, + 0.0308060186595, + 0.0153401460941, + -0.034815446981, + -0.0323186195273, + 0.0319980914226, + 0.0438153467588, + -0.0283833235493, + -0.0484427504201, + 0.028099209249 + ], + [ + -0.00738228018851, + -0.0229650259225, + 0.00690231463702, + 0.0223590149625, + -0.00325569832647, + -0.0202951356434, + -0.00227781966773, + 0.0154175929631, + 0.00686447647751, + -0.0077515344475, + -0.00683089024959, + 0.000913765168067, + 0.00126724875729, + -0.00108246176466, + 0.00333392736168, + 0.00891804794063, + 0.00349480821802, + -0.0110458424477, + -0.0182531660336, + -0.00705403270563, + 0.014329759807, + 0.0263923200741, + 0.0175402621805, + -0.00588254902884, + -0.0263797968257, + -0.0299872607025, + -0.015610473062, + 0.00656665636217, + 0.0236504118695, + 0.0280703394715, + 0.0203331876898, + 0.00657739032156, + -0.00601805099806, + -0.0128575744392, + -0.0131503946566, + -0.00903800848203, + -0.00379859251638, + -0.000237204444528, + 0.000166492041906, + -0.00267184189962, + -0.00786640336794, + -0.0141367661921, + -0.0202869469395, + -0.0254817358533, + -0.0293246153683, + -0.0317982038186, + -0.033138659159, + -0.0336996870923, + -0.0338380321547, + -0.0338319787266, + -0.0338319787266, + -0.0338380321547, + -0.0336996870923, + -0.033138659159, + -0.0317982038186, + -0.0293246153683, + -0.0254817358533, + -0.0202869469395, + -0.0141367661921, + -0.00786640336794, + -0.00267184189962, + 0.000166492041906, + -0.000237204444528, + -0.00379859251638, + -0.00903800848203, + -0.0131503946566, + -0.0128575744392, + -0.00601805099806, + 0.00657739032156, + 0.0203331876898, + 0.0280703394715, + 0.0236504118695, + 0.00656665636217, + -0.015610473062, + -0.0299872607025, + -0.0263797968257, + -0.00588254902884, + 0.0175402621805, + 0.0263923200741, + 0.014329759807, + -0.00705403270563, + -0.0182531660336, + -0.0110458424477, + 0.00349480821802, + 0.00891804794063, + 0.00333392736168, + -0.00108246176466, + 0.00126724875729, + 0.000913765168067, + -0.00683089024959, + -0.0077515344475, + 0.00686447647751, + 0.0154175929631, + -0.00227781966773, + -0.0202951356434, + -0.00325569832647, + 0.0223590149625, + 0.00690231463702, + -0.0229650259225, + -0.00738228018851 + ], + [ + 0.00727981704941, + 0.00350194953788, + -0.00710775369246, + -0.00388080409545, + 0.00598077198222, + 0.00457382176063, + -0.00389150535996, + -0.00477615506084, + 0.00126261788306, + 0.00364584125301, + 0.000657601135565, + -0.00131229444573, + -0.000340654597693, + -0.000199901968661, + -0.00187643215964, + -0.00165966902633, + 0.00208949575668, + 0.00529139615707, + 0.00317531767214, + -0.00332181523811, + -0.00808060157855, + -0.00617809142414, + 0.00128448700694, + 0.00845521072383, + 0.00996888458908, + 0.00498070187498, + -0.00291616528491, + -0.00884615134926, + -0.00990557569429, + -0.00638049540954, + -0.000793193238, + 0.00398876615188, + 0.00624012705461, + 0.00583132791724, + 0.00379191677733, + 0.00151211397801, + 0.0000713536597415, + -0.0000719628157927, + 0.000954552534933, + 0.00266860556326, + 0.00449969265699, + 0.00598610082394, + 0.00686755918391, + 0.00708847189174, + 0.00674800473627, + 0.00603270177095, + 0.00515584648348, + 0.00431454372118, + 0.00366543519178, + 0.0033144582937, + 0.0033144582937, + 0.00366543519178, + 0.00431454372118, + 0.00515584648348, + 0.00603270177095, + 0.00674800473627, + 0.00708847189174, + 0.00686755918391, + 0.00598610082394, + 0.00449969265699, + 0.00266860556326, + 0.000954552534933, + -0.0000719628157927, + 0.0000713536597415, + 0.00151211397801, + 0.00379191677733, + 0.00583132791724, + 0.00624012705461, + 0.00398876615188, + -0.000793193238, + -0.00638049540954, + -0.00990557569429, + -0.00884615134926, + -0.00291616528491, + 0.00498070187498, + 0.00996888458908, + 0.00845521072383, + 0.00128448700694, + -0.00617809142414, + -0.00808060157855, + -0.00332181523811, + 0.00317531767214, + 0.00529139615707, + 0.00208949575668, + -0.00165966902633, + -0.00187643215964, + -0.000199901968661, + -0.000340654597693, + -0.00131229444573, + 0.000657601135566, + 0.00364584125301, + 0.00126261788306, + -0.00477615506084, + -0.00389150535996, + 0.00457382176063, + 0.00598077198222, + -0.00388080409545, + -0.00710775369246, + 0.00350194953788, + 0.00727981704941 + ], + [ + 0.0384818765676, + -0.0130031151489, + -0.0380771693431, + 0.00940906530844, + 0.0361962129667, + -0.00126337139224, + -0.0307110896874, + -0.00806323264948, + 0.0199426217158, + 0.0126926991013, + -0.00656517149079, + -0.00762861177979, + -0.000299961185178, + -0.00315743933565, + -0.00760407394197, + 0.00303428972586, + 0.0202636179865, + 0.0187572679946, + -0.00779870867396, + -0.0347268544455, + -0.0328163288392, + 0.000283591725257, + 0.037835325192, + 0.0493689801693, + 0.0261586931421, + -0.0146994925343, + -0.0462331638801, + -0.0510840920005, + -0.030199545813, + 0.00188090792242, + 0.0282737611737, + 0.0389992247493, + 0.0338439959812, + 0.0195441762251, + 0.00467895382324, + -0.00451348147484, + -0.00588942536516, + -0.000908798162658, + 0.00703697183583, + 0.0143824167073, + 0.0185671678827, + 0.0184698434881, + 0.0142614616464, + 0.00696261820066, + -0.00204435241214, + -0.0113960661814, + -0.0199688749222, + -0.0269550849317, + -0.0318419786717, + -0.0343461443381, + -0.0343461443381, + -0.0318419786717, + -0.0269550849317, + -0.0199688749222, + -0.0113960661814, + -0.00204435241214, + 0.00696261820066, + 0.0142614616464, + 0.0184698434881, + 0.0185671678827, + 0.0143824167073, + 0.00703697183583, + -0.000908798162658, + -0.00588942536516, + -0.00451348147484, + 0.00467895382324, + 0.0195441762251, + 0.0338439959812, + 0.0389992247493, + 0.0282737611737, + 0.00188090792242, + -0.030199545813, + -0.0510840920005, + -0.0462331638801, + -0.0146994925342, + 0.0261586931421, + 0.0493689801693, + 0.037835325192, + 0.000283591725257, + -0.0328163288392, + -0.0347268544455, + -0.00779870867396, + 0.0187572679946, + 0.0202636179865, + 0.00303428972586, + -0.00760407394197, + -0.00315743933565, + -0.000299961185178, + -0.00762861177979, + -0.00656517149079, + 0.0126926991013, + 0.0199426217158, + -0.00806323264948, + -0.0307110896874, + -0.00126337139224, + 0.0361962129667, + 0.00940906530844, + -0.0380771693431, + -0.0130031151489, + 0.0384818765676 + ], + [ + 0.0354851734235, + -0.0635739947866, + -0.0359293351215, + 0.0576878996149, + 0.0408658914626, + -0.0428703457128, + -0.0449246649081, + 0.0207680159571, + 0.0401476638523, + 0.000880625425876, + -0.0225451626021, + -0.00815857017193, + 0.0021932417926, + -0.00636327472852, + -0.0031793297303, + 0.0222576875508, + 0.033836099168, + 0.00201904712574, + -0.04779899754, + -0.0602899544449, + -0.0137264733332, + 0.0548764647773, + 0.0862291713591, + 0.0530219893566, + -0.0201924404241, + -0.0818255838695, + -0.0937411375706, + -0.0539523692936, + 0.00949016361184, + 0.0614264166341, + 0.0803506342834, + 0.0657303321336, + 0.0323041194542, + -0.00125303285245, + -0.0217549062404, + -0.025325502213, + -0.0160088221691, + -0.00172586284143, + 0.00978691048861, + 0.0135148667348, + 0.00787371502209, + -0.0059169742011, + -0.0250517807079, + -0.0463352502054, + -0.0670187936574, + -0.0851973282812, + -0.0998438523649, + -0.110621288163, + -0.117605289493, + -0.121015824348, + -0.121015824348, + -0.117605289493, + -0.110621288163, + -0.0998438523649, + -0.0851973282812, + -0.0670187936574, + -0.0463352502054, + -0.0250517807079, + -0.0059169742011, + 0.00787371502209, + 0.0135148667348, + 0.00978691048861, + -0.00172586284143, + -0.0160088221691, + -0.025325502213, + -0.0217549062404, + -0.00125303285245, + 0.0323041194542, + 0.0657303321336, + 0.0803506342834, + 0.0614264166341, + 0.00949016361184, + -0.0539523692936, + -0.0937411375706, + -0.0818255838695, + -0.0201924404241, + 0.0530219893566, + 0.0862291713591, + 0.0548764647773, + -0.0137264733332, + -0.0602899544449, + -0.04779899754, + 0.00201904712574, + 0.033836099168, + 0.0222576875508, + -0.0031793297303, + -0.00636327472852, + 0.0021932417926, + -0.00815857017193, + -0.0225451626021, + 0.000880625425877, + 0.0401476638523, + 0.0207680159571, + -0.0449246649081, + -0.0428703457128, + 0.0408658914626, + 0.0576878996149, + -0.0359293351215, + -0.0635739947866, + 0.0354851734235 + ], + [ + -0.0203504803369, + -0.101483201247, + 0.0184573768653, + 0.0980088663542, + -0.00347883772183, + -0.0870082892189, + -0.0185722018222, + 0.0636172832306, + 0.0351324044207, + -0.0295603904192, + -0.0311990622582, + 0.00172338736465, + 0.00536316095547, + -0.00557353786975, + 0.012177687115, + 0.039391067328, + 0.0209846642678, + -0.0424209360806, + -0.0814882894295, + -0.0407599835598, + 0.0529012742273, + 0.115332513906, + 0.087793806734, + -0.0114064429388, + -0.10839524519, + -0.136565648687, + -0.0825984610988, + 0.0141449267657, + 0.0963979932641, + 0.125928715496, + 0.0994837464276, + 0.0411228016913, + -0.0171543565929, + -0.0525050350973, + -0.05849284747, + -0.0426809979244, + -0.0192096539008, + -0.00136682322613, + 0.0028861199625, + -0.00810409332249, + -0.031166729997, + -0.0607700053487, + -0.0912791554968, + -0.118408563578, + -0.139780865675, + -0.154805901713, + -0.164184285846, + -0.169298979685, + -0.171663953023, + -0.172507714404, + -0.172507714404, + -0.171663953023, + -0.169298979685, + -0.164184285846, + -0.154805901713, + -0.139780865675, + -0.118408563578, + -0.0912791554968, + -0.0607700053487, + -0.031166729997, + -0.00810409332249, + 0.0028861199625, + -0.00136682322613, + -0.0192096539008, + -0.0426809979244, + -0.05849284747, + -0.0525050350973, + -0.0171543565929, + 0.0411228016913, + 0.0994837464276, + 0.125928715496, + 0.0963979932641, + 0.0141449267657, + -0.0825984610988, + -0.136565648687, + -0.10839524519, + -0.0114064429388, + 0.087793806734, + 0.115332513906, + 0.0529012742273, + -0.0407599835598, + -0.0814882894295, + -0.0424209360806, + 0.0209846642678, + 0.039391067328, + 0.012177687115, + -0.00557353786975, + 0.00536316095547, + 0.00172338736465, + -0.0311990622582, + -0.0295603904192, + 0.0351324044207, + 0.0636172832306, + -0.0185722018222, + -0.0870082892189, + -0.00347883772183, + 0.0980088663542, + 0.0184573768653, + -0.101483201247, + -0.0203504803369 + ], + [ + -0.102212434455, + -0.0846904759707, + 0.0993756940723, + 0.088342841917, + -0.0790702066885, + -0.0931902063298, + 0.0434616345046, + 0.0868832197883, + -0.00284922179599, + -0.0590596709542, + -0.020694607837, + 0.0178403634787, + 0.00654437824962, + 0.000458925183237, + 0.029380924318, + 0.0371397998567, + -0.0193812692488, + -0.0863470996408, + -0.0736937368827, + 0.028154826072, + 0.127901556394, + 0.127157767582, + 0.0170935047943, + -0.117527208465, + -0.175998313706, + -0.120338742683, + 0.00703766189332, + 0.125248202757, + 0.172271760367, + 0.136336115796, + 0.0499030872819, + -0.038627694019, + -0.0928235538049, + -0.10147378416, + -0.0758483306809, + -0.0380035891753, + -0.00860091075113, + 0.000474767879069, + -0.0124014434943, + -0.0412786900345, + -0.0768875328961, + -0.110409495125, + -0.135754413522, + -0.150266085004, + -0.154298039815, + -0.15023502556, + -0.141428269728, + -0.131317522551, + -0.122833580595, + -0.118057018738, + -0.118057018738, + -0.122833580595, + -0.131317522551, + -0.141428269728, + -0.15023502556, + -0.154298039815, + -0.150266085004, + -0.135754413522, + -0.110409495125, + -0.0768875328961, + -0.0412786900345, + -0.0124014434943, + 0.000474767879069, + -0.00860091075113, + -0.0380035891753, + -0.0758483306809, + -0.10147378416, + -0.0928235538049, + -0.038627694019, + 0.0499030872819, + 0.136336115796, + 0.172271760367, + 0.125248202757, + 0.00703766189332, + -0.120338742683, + -0.175998313706, + -0.117527208465, + 0.0170935047943, + 0.127157767582, + 0.127901556394, + 0.028154826072, + -0.0736937368827, + -0.0863470996408, + -0.0193812692488, + 0.0371397998567, + 0.029380924318, + 0.000458925183237, + 0.00654437824962, + 0.0178403634787, + -0.020694607837, + -0.0590596709542, + -0.00284922179599, + 0.0868832197883, + 0.0434616345046, + -0.0931902063298, + -0.0790702066885, + 0.088342841917, + 0.0993756940723, + -0.0846904759707, + -0.102212434455 + ], + [ + -0.160690585954, + -0.00704101484583, + 0.158252233654, + 0.0190011954449, + -0.142675485897, + -0.0444372250204, + 0.109042254568, + 0.0675414659716, + -0.0578436129747, + -0.0663658633294, + 0.00792665157714, + 0.030839586414, + 0.00422877208871, + 0.0092155035644, + 0.0368255223507, + 0.0105312004693, + -0.0679035403898, + -0.0983206626998, + -0.0157594573802, + 0.114334503198, + 0.160706214701, + 0.0650651880833, + -0.100581304828, + -0.204155512171, + -0.167456903761, + -0.019650192887, + 0.138957244486, + 0.215200054294, + 0.178763230986, + 0.0655487116133, + -0.0579315208794, + -0.136549876118, + -0.150028030175, + -0.112050965899, + -0.053978249084, + -0.00624780945129, + 0.0134859433466, + 0.00304559569557, + -0.0283162155698, + -0.0665766541017, + -0.0988247338347, + -0.1166985621, + -0.117268916446, + -0.102141626806, + -0.0757640165538, + -0.0437170679547, + -0.0114261795641, + 0.0165896562596, + 0.0370118891711, + 0.0477288675591, + 0.0477288675591, + 0.0370118891711, + 0.0165896562596, + -0.0114261795641, + -0.0437170679547, + -0.0757640165538, + -0.102141626806, + -0.117268916446, + -0.1166985621, + -0.0988247338347, + -0.0665766541017, + -0.0283162155698, + 0.00304559569557, + 0.0134859433466, + -0.00624780945129, + -0.053978249084, + -0.112050965899, + -0.150028030175, + -0.136549876118, + -0.0579315208794, + 0.0655487116133, + 0.178763230986, + 0.215200054294, + 0.138957244486, + -0.019650192887, + -0.167456903761, + -0.204155512171, + -0.100581304828, + 0.0650651880833, + 0.160706214701, + 0.114334503198, + -0.0157594573802, + -0.0983206626998, + -0.0679035403898, + 0.0105312004693, + 0.0368255223507, + 0.0092155035644, + 0.00422877208871, + 0.030839586414, + 0.00792665157714, + -0.0663658633294, + -0.0578436129747, + 0.0675414659716, + 0.109042254568, + -0.0444372250204, + -0.142675485897, + 0.0190011954449, + 0.158252233654, + -0.00704101484583, + -0.160690585954 + ], + [ + -0.157687234506, + 0.100333451547, + 0.157019840282, + -0.083377259254, + -0.15565685694, + 0.0433190211637, + 0.141708961341, + 0.00742978262213, + -0.102284010072, + -0.0425421262761, + 0.0423239531237, + 0.032657262752, + -0.00102873853706, + 0.0163121116429, + 0.0281361638992, + -0.0306576502186, + -0.0987639784485, + -0.0644216031645, + 0.0705043017525, + 0.172530814005, + 0.123077368494, + -0.0523096222983, + -0.208789741556, + -0.217313473313, + -0.0699832288807, + 0.127664210589, + 0.247626064727, + 0.227437287742, + 0.0954666169622, + -0.0655508461144, + -0.176414421209, + -0.200886503671, + -0.151217833009, + -0.0683603428119, + 0.00465071275575, + 0.0413666229495, + 0.0373521386423, + 0.00505700156427, + -0.0358263618047, + -0.0671653589019, + -0.0775579546114, + -0.0635759967464, + -0.0282604836503, + 0.0215661085053, + 0.077921500412, + 0.133538122953, + 0.182819738724, + 0.222032509564, + 0.249017056348, + 0.262711268091, + 0.262711268091, + 0.249017056348, + 0.222032509564, + 0.182819738724, + 0.133538122953, + 0.077921500412, + 0.0215661085053, + -0.0282604836503, + -0.0635759967464, + -0.0775579546114, + -0.0671653589019, + -0.0358263618047, + 0.00505700156427, + 0.0373521386423, + 0.0413666229495, + 0.00465071275575, + -0.0683603428119, + -0.151217833009, + -0.200886503671, + -0.176414421209, + -0.0655508461143, + 0.0954666169622, + 0.227437287742, + 0.247626064727, + 0.127664210589, + -0.0699832288807, + -0.217313473313, + -0.208789741556, + -0.0523096222983, + 0.123077368494, + 0.172530814005, + 0.0705043017525, + -0.0644216031645, + -0.0987639784485, + -0.0306576502186, + 0.0281361638992, + 0.0163121116429, + -0.00102873853706, + 0.032657262752, + 0.0423239531237, + -0.0425421262761, + -0.102284010072, + 0.00742978262213, + 0.141708961341, + 0.0433190211637, + -0.15565685694, + -0.083377259254, + 0.157019840282, + 0.100333451547, + -0.157687234506 + ], + [ + -0.0870154916771, + 0.19046455264, + 0.0887856110574, + -0.174599523102, + -0.105553544533, + 0.133546519907, + 0.121890768494, + -0.0702181893304, + -0.113837450819, + 0.00512456000422, + 0.066980537979, + 0.020994666305, + -0.00712270378871, + 0.0181759045448, + 0.00531231189617, + -0.0688516881717, + -0.095007306964, + 0.00542220493457, + 0.148034476008, + 0.171354047655, + 0.0232110441639, + -0.176918005287, + -0.254835523631, + -0.14036781829, + 0.0828124135158, + 0.258299305183, + 0.277920916963, + 0.144561606423, + -0.051504181318, + -0.203721529497, + -0.250676947746, + -0.195569996256, + -0.08673246632, + 0.0176939341084, + 0.0782008011122, + 0.0847808628106, + 0.0518761296174, + 0.0054433243501, + -0.0297719675355, + -0.0380764557398, + -0.0149142969408, + 0.0352340865102, + 0.102808464591, + 0.177050122043, + 0.248735159283, + 0.311485410203, + 0.361891243328, + 0.398885965007, + 0.422806457271, + 0.434469417779, + 0.434469417779, + 0.422806457271, + 0.398885965007, + 0.361891243328, + 0.311485410203, + 0.248735159283, + 0.177050122043, + 0.102808464591, + 0.0352340865102, + -0.0149142969408, + -0.0380764557398, + -0.0297719675355, + 0.0054433243501, + 0.0518761296174, + 0.0847808628106, + 0.0782008011122, + 0.0176939341084, + -0.08673246632, + -0.195569996256, + -0.250676947746, + -0.203721529497, + -0.051504181318, + 0.144561606423, + 0.277920916963, + 0.258299305183, + 0.0828124135158, + -0.14036781829, + -0.254835523631, + -0.176918005287, + 0.0232110441639, + 0.171354047655, + 0.148034476008, + 0.00542220493457, + -0.095007306964, + -0.0688516881717, + 0.00531231189617, + 0.0181759045448, + -0.00712270378871, + 0.020994666305, + 0.066980537979, + 0.00512456000422, + -0.113837450819, + -0.0702181893304, + 0.121890768494, + 0.133546519907, + -0.105553544533, + -0.174599523102, + 0.0887856110574, + 0.19046455264, + -0.0870154916771 + ], + [ + 0.0266659958095, + 0.226203135986, + -0.0227680365434, + -0.217396511203, + -0.00894504710549, + 0.190127902249, + 0.0545565072846, + -0.135197577264, + -0.0859508553404, + 0.0588600153853, + 0.0714030641835, + -0.000259982483291, + -0.0116510831094, + 0.0137376253464, + -0.0233277243714, + -0.0884799987867, + -0.0559548705783, + 0.0853702286556, + 0.185002520203, + 0.107341371748, + -0.102797876785, + -0.258958647147, + -0.215765209757, + 0.00204725661233, + 0.233221700187, + 0.318176134235, + 0.21155695157, + -0.00739141942633, + -0.207797031467, + -0.293564086237, + -0.246790209599, + -0.116539669063, + 0.0233235544748, + 0.115226218745, + 0.138277534713, + 0.105919676957, + 0.0501517686317, + 0.00386608137242, + -0.0110389522628, + 0.0124497292586, + 0.0688391615984, + 0.145535155459, + 0.228379010597, + 0.305619134216, + 0.369825784364, + 0.418055903323, + 0.450907783612, + 0.471101116299, + 0.482048963215, + 0.486689283655, + 0.486689283655, + 0.482048963215, + 0.471101116299, + 0.450907783612, + 0.418055903323, + 0.369825784364, + 0.305619134216, + 0.228379010597, + 0.145535155459, + 0.0688391615984, + 0.0124497292586, + -0.0110389522628, + 0.00386608137242, + 0.0501517686317, + 0.105919676957, + 0.138277534713, + 0.115226218745, + 0.0233235544748, + -0.116539669063, + -0.246790209599, + -0.293564086237, + -0.207797031467, + -0.00739141942633, + 0.21155695157, + 0.318176134235, + 0.233221700187, + 0.00204725661233, + -0.215765209757, + -0.258958647147, + -0.102797876785, + 0.107341371748, + 0.185002520203, + 0.0853702286556, + -0.0559548705783, + -0.0884799987867, + -0.0233277243714, + 0.0137376253464, + -0.0116510831094, + -0.000259982483291, + 0.0714030641835, + 0.0588600153853, + -0.0859508553404, + -0.135197577264, + 0.0545565072846, + 0.190127902249, + -0.00894504710549, + -0.217396511203, + -0.0227680365434, + 0.226203135986, + 0.0266659958095 + ], + [ + 0.143881641325, + 0.195224950076, + -0.138918419389, + -0.196956093786, + 0.100646831899, + 0.193432562316, + -0.0369539961076, + -0.164949059367, + -0.028250877477, + 0.10002209508, + 0.0540096235756, + -0.0237530612829, + -0.0130356511441, + 0.00451354278069, + -0.0478594706356, + -0.0826182912286, + 0.00503838810459, + 0.14769226831, + 0.168220066671, + 0.00219306058448, + -0.211357433212, + -0.26937924881, + -0.104100114203, + 0.161242101073, + 0.328783796199, + 0.285181036595, + 0.0698104438042, + -0.17688227469, + -0.319082406512, + -0.302452239155, + -0.163867498686, + 0.0109282538512, + 0.142083367832, + 0.190595804899, + 0.163324955413, + 0.0963758679285, + 0.0319664688599, + 0.000768518150296, + 0.0145910777212, + 0.068182354179, + 0.146007169128, + 0.229825731839, + 0.304400648646, + 0.360399080155, + 0.394800271324, + 0.409684782753, + 0.410320145711, + 0.403218766972, + 0.394538870402, + 0.38895160426, + 0.38895160426, + 0.394538870402, + 0.403218766972, + 0.410320145711, + 0.409684782753, + 0.394800271324, + 0.360399080155, + 0.304400648646, + 0.229825731839, + 0.146007169128, + 0.068182354179, + 0.0145910777212, + 0.000768518150297, + 0.0319664688599, + 0.0963758679285, + 0.163324955413, + 0.190595804899, + 0.142083367832, + 0.0109282538512, + -0.163867498686, + -0.302452239155, + -0.319082406512, + -0.17688227469, + 0.0698104438042, + 0.285181036595, + 0.328783796199, + 0.161242101073, + -0.104100114203, + -0.26937924881, + -0.211357433212, + 0.00219306058448, + 0.168220066671, + 0.14769226831, + 0.00503838810459, + -0.0826182912286, + -0.0478594706356, + 0.00451354278069, + -0.0130356511441, + -0.0237530612829, + 0.0540096235756, + 0.10002209508, + -0.028250877477, + -0.164949059367, + -0.0369539961076, + 0.193432562316, + 0.100646831899, + -0.196956093786, + -0.138918419389, + 0.195224950076, + 0.143881641325 + ], + [ + 0.229033862025, + 0.110205925088, + -0.22433253492, + -0.122562428329, + 0.189457861653, + 0.145043540263, + -0.123806589698, + -0.152156737942, + 0.0403997380552, + 0.116748724434, + 0.0210750599259, + -0.0422729913837, + -0.010999967099, + -0.00649005824689, + -0.0610372839039, + -0.0541484318003, + 0.0685637118094, + 0.174247348196, + 0.104973813136, + -0.110580565736, + -0.270241149271, + -0.207726796025, + 0.0436459805462, + 0.288341148409, + 0.34235242455, + 0.172296088669, + -0.102026349631, + -0.311970988758, + -0.352747305222, + -0.229596062675, + -0.0287363001793, + 0.147268671808, + 0.233377464406, + 0.221190974095, + 0.146014957558, + 0.059147592609, + 0.00280804809623, + -0.00292186494756, + 0.0394590052627, + 0.112422343512, + 0.193263090328, + 0.262136374954, + 0.306517101045, + 0.322206608132, + 0.31198444027, + 0.283179348886, + 0.245147024683, + 0.207210197019, + 0.177240193199, + 0.160818987304, + 0.160818987304, + 0.177240193199, + 0.207210197019, + 0.245147024683, + 0.283179348886, + 0.31198444027, + 0.322206608132, + 0.306517101045, + 0.262136374954, + 0.193263090328, + 0.112422343512, + 0.0394590052627, + -0.00292186494756, + 0.00280804809623, + 0.059147592609, + 0.146014957558, + 0.221190974095, + 0.233377464406, + 0.147268671808, + -0.0287363001793, + -0.229596062675, + -0.352747305222, + -0.311970988758, + -0.102026349631, + 0.172296088669, + 0.34235242455, + 0.288341148409, + 0.0436459805462, + -0.207726796025, + -0.270241149271, + -0.110580565736, + 0.104973813136, + 0.174247348196, + 0.0685637118094, + -0.0541484318003, + -0.0610372839039, + -0.00649005824689, + -0.010999967099, + -0.0422729913837, + 0.0210750599259, + 0.116748724434, + 0.0403997380552, + -0.152156737942, + -0.123806589698, + 0.145043540263, + 0.189457861653, + -0.122562428329, + -0.22433253492, + 0.110205925088, + 0.229033862025 + ], + [ + 0.262494876938, + -0.00127571896011, + -0.259171784305, + -0.0189399347105, + 0.235812598735, + 0.0625437779924, + -0.183358202462, + -0.104084248517, + 0.100773140378, + 0.106797279417, + -0.0172565897391, + -0.0513419269584, + -0.00638830596521, + -0.0161916965631, + -0.0603519016602, + -0.0126033787181, + 0.117512236935, + 0.161028576665, + 0.0160138110337, + -0.200345386248, + -0.267891277003, + -0.0962825471681, + 0.185262537281, + 0.352062223773, + 0.276680571739, + 0.0156337238486, + -0.255993477184, + -0.379202172012, + -0.30528395026, + -0.0999170390012, + 0.119272328981, + 0.255700200131, + 0.274589511519, + 0.201387402196, + 0.0931277268153, + 0.00539957819573, + -0.0291545027034, + -0.00621076726611, + 0.0570611282541, + 0.133906558058, + 0.19892210552, + 0.234849946935, + 0.234786802402, + 0.200995832145, + 0.141999615239, + 0.0693713652794, + -0.00491796515035, + -0.0702785432405, + -0.118460294673, + -0.143928329839, + -0.143928329839, + -0.118460294673, + -0.0702785432405, + -0.00491796515035, + 0.0693713652794, + 0.141999615239, + 0.200995832145, + 0.234786802402, + 0.234849946935, + 0.19892210552, + 0.133906558058, + 0.0570611282541, + -0.00621076726611, + -0.0291545027034, + 0.00539957819573, + 0.0931277268153, + 0.201387402196, + 0.274589511519, + 0.255700200131, + 0.119272328981, + -0.0999170390012, + -0.30528395026, + -0.379202172012, + -0.255993477184, + 0.0156337238486, + 0.276680571739, + 0.352062223773, + 0.185262537281, + -0.0962825471681, + -0.267891277003, + -0.200345386248, + 0.0160138110337, + 0.161028576665, + 0.117512236935, + -0.0126033787181, + -0.0603519016602, + -0.0161916965631, + -0.00638830596521, + -0.0513419269584, + -0.0172565897391, + 0.106797279417, + 0.100773140378, + -0.104084248517, + -0.183358202462, + 0.0625437779924, + 0.235812598735, + -0.0189399347105, + -0.259171784305, + -0.00127571896011, + 0.262494876938 + ], + [ + 0.243217233492, + -0.109524199527, + -0.241894582095, + 0.0857102138956, + 0.234372147983, + -0.0302076227294, + -0.205164413647, + -0.0366272645136, + 0.139743550465, + 0.0759601076083, + -0.0512725401009, + -0.0500413998718, + -0.000615530500891, + -0.0224749586686, + -0.0477255803509, + 0.030588318591, + 0.142199307728, + 0.116120983052, + -0.0745290900127, + -0.248816788564, + -0.212362347668, + 0.0326780752372, + 0.288161422341, + 0.344960399296, + 0.156549244259, + -0.142865224723, + -0.357927951103, + -0.370416148074, + -0.196819887631, + 0.0499745209773, + 0.244063489206, + 0.313675703043, + 0.261067486648, + 0.140666031186, + 0.0202866652535, + -0.0509081867133, + -0.0562752525194, + -0.00836992027957, + 0.0638786995872, + 0.12923843175, + 0.164195768156, + 0.157278023881, + 0.108615618347, + 0.0267689155057, + -0.0752304637116, + -0.183317270318, + -0.284730051657, + -0.369218845667, + -0.429395986957, + -0.460598777927, + -0.460598777927, + -0.429395986957, + -0.369218845667, + -0.284730051657, + -0.183317270318, + -0.0752304637116, + 0.0267689155057, + 0.108615618347, + 0.157278023881, + 0.164195768156, + 0.12923843175, + 0.0638786995872, + -0.00836992027957, + -0.0562752525194, + -0.0509081867133, + 0.0202866652535, + 0.140666031186, + 0.261067486648, + 0.313675703043, + 0.244063489206, + 0.0499745209773, + -0.196819887631, + -0.370416148074, + -0.357927951103, + -0.142865224723, + 0.156549244259, + 0.344960399296, + 0.288161422341, + 0.0326780752372, + -0.212362347668, + -0.248816788564, + -0.0745290900127, + 0.116120983052, + 0.142199307728, + 0.030588318591, + -0.0477255803509, + -0.0224749586686, + -0.000615530500891, + -0.0500413998718, + -0.0512725401009, + 0.0759601076083, + 0.139743550465, + -0.0366272645136, + -0.205164413647, + -0.0302076227294, + 0.234372147983, + 0.0857102138956, + -0.241894582095, + -0.109524199527, + 0.243217233492 + ], + [ + 0.184109663691, + -0.192321024879, + -0.184864365428, + 0.169210719292, + 0.193424632525, + -0.111996025311, + -0.190926218315, + 0.0328051007075, + 0.152667305895, + 0.0341816861824, + -0.0745319758696, + -0.0403545317848, + 0.00491328277887, + -0.0245788796427, + -0.0277660661805, + 0.0660741097782, + 0.141371264067, + 0.0540929648384, + -0.147358317608, + -0.252416213909, + -0.123803368819, + 0.149267136119, + 0.336803032534, + 0.27958824853, + 0.0156339637013, + -0.269628429515, + -0.394331484145, + -0.298866140785, + -0.0591314426294, + 0.185732120273, + 0.322859256371, + 0.316182599699, + 0.203162513876, + 0.0571470169357, + -0.0548013644165, + -0.0978185203223, + -0.0735630992652, + -0.00908873692375, + 0.0597144634447, + 0.102069510807, + 0.0999111304813, + 0.0491800495863, + -0.0430820324204, + -0.163331435995, + -0.295904916673, + -0.426179891703, + -0.542281935247, + -0.635585601762, + -0.700446932622, + -0.733606357384, + -0.733606357384, + -0.700446932622, + -0.635585601762, + -0.542281935247, + -0.426179891703, + -0.295904916673, + -0.163331435995, + -0.0430820324204, + 0.0491800495863, + 0.0999111304813, + 0.102069510807, + 0.0597144634447, + -0.00908873692375, + -0.0735630992652, + -0.0978185203223, + -0.0548013644165, + 0.0571470169357, + 0.203162513876, + 0.316182599699, + 0.322859256371, + 0.185732120273, + -0.0591314426294, + -0.298866140785, + -0.394331484145, + -0.269628429515, + 0.0156339637013, + 0.27958824853, + 0.336803032534, + 0.149267136119, + -0.123803368819, + -0.252416213909, + -0.147358317608, + 0.0540929648384, + 0.141371264067, + 0.0660741097782, + -0.0277660661805, + -0.0245788796427, + 0.00491328277887, + -0.0403545317848, + -0.0745319758696, + 0.0341816861824, + 0.152667305895, + 0.0328051007075, + -0.190926218315, + -0.111996025311, + 0.193424632525, + 0.169210719292, + -0.184864365428, + -0.192321024879, + 0.184109663691 + ], + [ + 0.104438732893, + -0.239007287068, + -0.106922969014, + 0.219896254687, + 0.128683376161, + -0.169434809354, + -0.150558949938, + 0.0905921296772, + 0.142273711825, + -0.00840207480805, + -0.0847412506504, + -0.0257898453522, + 0.00919325522488, + -0.0229282605575, + -0.00572041400194, + 0.0886100066936, + 0.120188042677, + -0.00989648209976, + -0.19205641821, + -0.219167806021, + -0.0254579903577, + 0.233675263752, + 0.332320828906, + 0.179475898255, + -0.115338404935, + -0.346527574827, + -0.370505853243, + -0.18972756472, + 0.0763301462796, + 0.284202732836, + 0.348969573623, + 0.272501039667, + 0.119448341158, + -0.0296287399547, + -0.117723606478, + -0.128119476596, + -0.0793613552872, + -0.00845330835335, + 0.0469227653134, + 0.060405819328, + 0.0213402813346, + -0.066871042956, + -0.191559731028, + -0.336115231158, + -0.484210763236, + -0.622326389573, + -0.740681935759, + -0.833042539041, + -0.895929037527, + -0.927680565952, + -0.927680565952, + -0.895929037527, + -0.833042539041, + -0.740681935759, + -0.622326389573, + -0.484210763236, + -0.336115231158, + -0.191559731028, + -0.066871042956, + 0.0213402813346, + 0.060405819328, + 0.0469227653134, + -0.00845330835335, + -0.0793613552872, + -0.128119476596, + -0.117723606478, + -0.0296287399547, + 0.119448341158, + 0.272501039667, + 0.348969573623, + 0.284202732836, + 0.0763301462796, + -0.18972756472, + -0.370505853243, + -0.346527574827, + -0.115338404935, + 0.179475898255, + 0.332320828906, + 0.233675263752, + -0.0254579903577, + -0.219167806021, + -0.19205641821, + -0.00989648209976, + 0.120188042677, + 0.0886100066936, + -0.00572041400194, + -0.0229282605575, + 0.00919325522488, + -0.0257898453522, + -0.0847412506504, + -0.00840207480805, + 0.142273711825, + 0.0905921296772, + -0.150558949938, + -0.169434809354, + 0.128683376161, + 0.219896254687, + -0.106922969014, + -0.239007287068, + 0.104438732893 + ], + [ + 0.0229261885198, + -0.249722313091, + -0.0265628053593, + 0.236433668239, + 0.0569813811046, + -0.19804717213, + -0.0971467820682, + 0.129269549308, + 0.115731962874, + -0.0441368063119, + -0.0830943219296, + -0.0100162834957, + 0.0117584756702, + -0.0186675365489, + 0.0140705705356, + 0.097181464623, + 0.0869725135762, + -0.064183715692, + -0.20712355119, + -0.163177302868, + 0.0632450902161, + 0.278292064431, + 0.28730759856, + 0.0698431848024, + -0.215631069239, + -0.371029296275, + -0.303725187923, + -0.0701892005927, + 0.186403833323, + 0.336147749719, + 0.328929776713, + 0.199811789977, + 0.0297097044522, + -0.104030524234, + -0.160080225001, + -0.139856733538, + -0.0748621362032, + -0.0068197574813, + 0.0291657653681, + 0.0135510229231, + -0.0565630921629, + -0.171470488083, + -0.314781322078, + -0.468806949751, + -0.618203744085, + -0.751682042476, + -0.862175810442, + -0.946071753046, + -1.00205351493, + -1.02996856229, + -1.02996856229, + -1.00205351493, + -0.946071753046, + -0.862175810442, + -0.751682042476, + -0.618203744085, + -0.468806949751, + -0.314781322078, + -0.171470488083, + -0.0565630921629, + 0.0135510229231, + 0.0291657653681, + -0.00681975748131, + -0.0748621362032, + -0.139856733538, + -0.160080225001, + -0.104030524234, + 0.0297097044522, + 0.199811789977, + 0.328929776713, + 0.336147749719, + 0.186403833323, + -0.0701892005927, + -0.303725187923, + -0.371029296275, + -0.215631069239, + 0.0698431848024, + 0.28730759856, + 0.278292064431, + 0.0632450902161, + -0.163177302868, + -0.20712355119, + -0.064183715692, + 0.0869725135762, + 0.097181464623, + 0.0140705705356, + -0.0186675365489, + 0.0117584756702, + -0.0100162834957, + -0.0830943219296, + -0.0441368063119, + 0.115731962874, + 0.129269549308, + -0.0971467820682, + -0.19804717213, + 0.0569813811046, + 0.236433668239, + -0.0265628053593, + -0.249722313091, + 0.0229261885198 + ], + [ + -0.0465413444722, + -0.231897016338, + 0.042371824903, + 0.224819811632, + -0.00810355055671, + -0.200474211117, + -0.0428052072524, + 0.147336642136, + 0.0815189369967, + -0.0688813066715, + -0.0728727746155, + 0.00406315744529, + 0.0126211325384, + -0.0131584442809, + 0.0289190293556, + 0.0939006730967, + 0.0502219414785, + -0.102273301144, + -0.197513836457, + -0.0993504153991, + 0.130119000527, + 0.285684884743, + 0.219226111285, + -0.0289289299692, + -0.276316837551, + -0.351958557481, + -0.215437108036, + 0.0376107877657, + 0.259164209444, + 0.344193652198, + 0.276965192047, + 0.116791192043, + -0.0500473068847, + -0.156824993763, + -0.179673615591, + -0.135264521488, + -0.0630219424421, + -0.0046579751268, + 0.0102369508262, + -0.0302783487054, + -0.122267641307, + -0.251563486262, + -0.400070514742, + -0.55070208, + -0.690209763964, + -0.810068192974, + -0.906004782997, + -0.976827633112, + -1.02307429278, + -1.04581917676, + -1.04581917676, + -1.02307429278, + -0.976827633112, + -0.906004782997, + -0.810068192974, + -0.690209763964, + -0.55070208, + -0.400070514742, + -0.251563486262, + -0.122267641307, + -0.0302783487054, + 0.0102369508262, + -0.0046579751268, + -0.0630219424421, + -0.135264521488, + -0.179673615591, + -0.156824993763, + -0.0500473068847, + 0.116791192043, + 0.276965192047, + 0.344193652198, + 0.259164209444, + 0.0376107877657, + -0.215437108036, + -0.351958557481, + -0.276316837551, + -0.0289289299692, + 0.219226111285, + 0.285684884743, + 0.130119000527, + -0.0993504153991, + -0.197513836457, + -0.102273301144, + 0.0502219414785, + 0.0939006730967, + 0.0289190293556, + -0.0131584442809, + 0.0126211325384, + 0.00406315744529, + -0.0728727746155, + -0.0688813066715, + 0.0815189369967, + 0.147336642136, + -0.0428052072524, + -0.200474211117, + -0.00810355055671, + 0.224819811632, + 0.042371824903, + -0.231897016338, + -0.0465413444722 + ], + [ + -0.0963486581888, + -0.196125834482, + 0.0921765674204, + 0.19456076335, + -0.0581559972975, + -0.183473202566, + 0.00367845304977, + 0.147567622331, + 0.0470954871374, + -0.0817370145036, + -0.0580116380857, + 0.0146965653235, + 0.0121073745766, + -0.00760466768543, + 0.0378292512019, + 0.0824858554933, + 0.0166651589083, + -0.12254363648, + -0.171374751037, + -0.0398220604882, + 0.170501245352, + 0.264640435472, + 0.144925717308, + -0.104203747816, + -0.298350627688, + -0.303810584728, + -0.12516252667, + 0.119813110659, + 0.292893917087, + 0.318422229308, + 0.20940911793, + 0.0390615517108, + -0.109875169328, + -0.185163994023, + -0.179054078214, + -0.119004753391, + -0.047405418788, + -0.00242032891001, + -0.00674731251999, + -0.0652606351444, + -0.168882283802, + -0.301015967197, + -0.443622724227, + -0.581397317775, + -0.703729999742, + -0.804879010548, + -0.883043510483, + -0.938976665585, + -0.974591988982, + -0.991818989345, + -0.991818989345, + -0.974591988982, + -0.938976665585, + -0.883043510483, + -0.804879010548, + -0.703729999742, + -0.581397317775, + -0.443622724227, + -0.301015967197, + -0.168882283802, + -0.0652606351444, + -0.00674731251999, + -0.00242032891001, + -0.047405418788, + -0.119004753391, + -0.179054078214, + -0.185163994023, + -0.109875169328, + 0.0390615517108, + 0.20940911793, + 0.318422229308, + 0.292893917087, + 0.119813110659, + -0.12516252667, + -0.303810584728, + -0.298350627688, + -0.104203747816, + 0.144925717308, + 0.264640435472, + 0.170501245352, + -0.0398220604882, + -0.171374751037, + -0.12254363648, + 0.0166651589083, + 0.0824858554933, + 0.0378292512019, + -0.00760466768543, + 0.0121073745766, + 0.0146965653235, + -0.0580116380857, + -0.0817370145036, + 0.0470954871374, + 0.147567622331, + 0.00367845304977, + -0.183473202566, + -0.0581559972975, + 0.19456076335, + 0.0921765674204, + -0.196125834482, + -0.0963486581888 + ], + [ + -0.124492408757, + -0.152818366409, + 0.120694801813, + 0.155427768518, + -0.0898313141654, + -0.155031549208, + 0.0374894745006, + 0.134902443203, + 0.0177110677732, + -0.0840768613925, + -0.0420439594867, + 0.0212382766408, + 0.0106772239662, + -0.00285673499396, + 0.0411033055924, + 0.0669137092547, + -0.00951435230044, + -0.126856653854, + -0.137215359343, + 0.00759598584826, + 0.185569856681, + 0.226140931268, + 0.0773459991369, + -0.1510049046, + -0.288913900683, + -0.241758792089, + -0.0471098834974, + 0.17084663156, + 0.292921343448, + 0.27173123213, + 0.140619196326, + -0.0229811021503, + -0.145880109445, + -0.19103373187, + -0.163437414466, + -0.0964435544774, + -0.0312874756191, + -0.000459877383807, + -0.0197212114264, + -0.0882804293202, + -0.193909169015, + -0.319447041753, + -0.448231309912, + -0.567388633928, + -0.669009842463, + -0.749790653826, + -0.809845259791, + -0.851270993951, + -0.87683018745, + -0.888926023679, + -0.888926023679, + -0.87683018745, + -0.851270993951, + -0.809845259791, + -0.749790653826, + -0.669009842463, + -0.567388633928, + -0.448231309912, + -0.319447041753, + -0.193909169015, + -0.0882804293202, + -0.0197212114264, + -0.000459877383807, + -0.0312874756191, + -0.0964435544774, + -0.163437414466, + -0.19103373187, + -0.145880109445, + -0.0229811021503, + 0.140619196326, + 0.27173123213, + 0.292921343448, + 0.17084663156, + -0.0471098834974, + -0.241758792089, + -0.288913900683, + -0.1510049046, + 0.0773459991369, + 0.226140931268, + 0.185569856681, + 0.00759598584826, + -0.137215359343, + -0.126856653854, + -0.00951435230044, + 0.0669137092547, + 0.0411033055924, + -0.00285673499396, + 0.0106772239662, + 0.0212382766408, + -0.0420439594867, + -0.0840768613925, + 0.0177110677732, + 0.134902443203, + 0.0374894745006, + -0.155031549208, + -0.0898313141654, + 0.155427768518, + 0.120694801813, + -0.152818366409, + -0.124492408757 + ], + [ + -0.132873874669, + -0.11018123906, + 0.129666457258, + 0.115398058059, + -0.103623136871, + -0.122303325673, + 0.0572614364283, + 0.114644147197, + -0.00382046549247, + -0.0784192146018, + -0.0275426848741, + 0.0238645510058, + 0.00878227303608, + 0.000626631544554, + 0.0397960756986, + 0.0505255824514, + -0.0265690325189, + -0.118888141308, + -0.102066138559, + 0.0393760707397, + 0.179942565719, + 0.180351591737, + 0.0243694638935, + -0.170189238544, + -0.257688559032, + -0.178372713234, + 0.0107205877603, + 0.191520337546, + 0.268002604458, + 0.21625311877, + 0.0808403556305, + -0.0643546240941, + -0.158840195268, + -0.179163727705, + -0.138761388215, + -0.0723760844407, + -0.0171314460925, + 0.00100167860583, + -0.0276910468382, + -0.0985675737481, + -0.198179769606, + -0.310303473264, + -0.420492849673, + -0.518508513197, + -0.598866544394, + -0.660150106603, + -0.703744104362, + -0.732481924804, + -0.749481525681, + -0.757280216489, + -0.757280216489, + -0.749481525681, + -0.732481924804, + -0.703744104362, + -0.660150106603, + -0.598866544394, + -0.518508513197, + -0.420492849673, + -0.310303473264, + -0.198179769606, + -0.0985675737481, + -0.0276910468382, + 0.00100167860583, + -0.0171314460925, + -0.0723760844407, + -0.138761388215, + -0.179163727705, + -0.158840195268, + -0.0643546240941, + 0.0808403556305, + 0.21625311877, + 0.268002604458, + 0.191520337546, + 0.0107205877603, + -0.178372713234, + -0.257688559032, + -0.170189238544, + 0.0243694638935, + 0.180351591737, + 0.179942565719, + 0.0393760707397, + -0.102066138559, + -0.118888141308, + -0.0265690325189, + 0.0505255824514, + 0.0397960756986, + 0.000626631544554, + 0.00878227303608, + 0.0238645510058, + -0.0275426848741, + -0.0784192146018, + -0.00382046549247, + 0.114644147197, + 0.0572614364283, + -0.122303325673, + -0.103623136871, + 0.115398058059, + 0.129666457258, + -0.11018123906, + -0.132873874669 + ], + [ + -0.125420104096, + -0.0734568037818, + 0.122884643472, + 0.0797803695866, + -0.102287915197, + -0.0905258300632, + 0.064017009326, + 0.0912780208222, + -0.016736449357, + -0.0674929881017, + -0.0159843935163, + 0.0232232592671, + 0.00678023193667, + 0.00271830181201, + 0.0352194632877, + 0.0356145185167, + -0.0345982193255, + -0.102712073593, + -0.0706625763074, + 0.0553332418546, + 0.159459047613, + 0.134934495546, + -0.0108061418827, + -0.166067191091, + -0.214009868963, + -0.12213307618, + 0.0457705568236, + 0.186471587415, + 0.22732500118, + 0.161265536487, + 0.0357260212026, + -0.0844687599653, + -0.152345399276, + -0.15511566645, + -0.110283217042, + -0.0503143802807, + -0.00640996263647, + 0.00186941808983, + -0.030545592061, + -0.0970255794173, + -0.184556889999, + -0.278930186988, + -0.368342262941, + -0.445073571504, + -0.505604694394, + -0.549790346779, + -0.579661867442, + -0.5982472093, + -0.608605409592, + -0.613133658844, + -0.613133658844, + -0.608605409592, + -0.5982472093, + -0.579661867442, + -0.549790346779, + -0.505604694394, + -0.445073571504, + -0.368342262941, + -0.278930186988, + -0.184556889999, + -0.0970255794173, + -0.030545592061, + 0.00186941808983, + -0.00640996263647, + -0.0503143802807, + -0.110283217042, + -0.15511566645, + -0.152345399276, + -0.0844687599653, + 0.0357260212026, + 0.161265536487, + 0.22732500118, + 0.186471587415, + 0.0457705568236, + -0.12213307618, + -0.214009868963, + -0.166067191091, + -0.0108061418827, + 0.134934495546, + 0.159459047613, + 0.0553332418546, + -0.0706625763074, + -0.102712073593, + -0.0345982193255, + 0.0356145185167, + 0.0352194632877, + 0.00271830181201, + 0.00678023193667, + 0.0232232592671, + -0.0159843935163, + -0.0674929881017, + -0.016736449357, + 0.0912780208222, + 0.064017009326, + -0.0905258300632, + -0.102287915197, + 0.0797803695866, + 0.122884643472, + -0.0734568037818, + -0.125420104096 + ], + [ + -0.106561042075, + -0.0450406111583, + 0.104688319705, + 0.051206732864, + -0.0894575757967, + -0.0627394082439, + 0.0600664303147, + 0.0679190419066, + -0.0216956559574, + -0.0536332439678, + -0.00787992394099, + 0.0201310067469, + 0.00490157113737, + 0.0035220203604, + 0.0285929142207, + 0.023378970377, + -0.0348333853359, + -0.0818660418109, + -0.0453954398584, + 0.0574058743663, + 0.129596936615, + 0.0945081100646, + -0.0285337973662, + -0.144282787677, + -0.165193542607, + -0.0773122547709, + 0.0594034614525, + 0.161858288473, + 0.178573988609, + 0.112443283946, + 0.00691610522056, + -0.0856526605097, + -0.131098170435, + -0.123918445601, + -0.0818105582019, + -0.0322614659652, + 0.000336579472433, + 0.00215061805891, + -0.0287877453397, + -0.0855316209408, + -0.156790174769, + -0.231063501625, + -0.299316029283, + -0.356058002199, + -0.399217978894, + -0.429340298451, + -0.44856377868, + -0.459671437305, + -0.465341892259, + -0.467626304234, + -0.467626304234, + -0.465341892259, + -0.459671437305, + -0.44856377868, + -0.429340298451, + -0.399217978894, + -0.356058002199, + -0.299316029283, + -0.231063501625, + -0.156790174769, + -0.0855316209408, + -0.0287877453397, + 0.00215061805891, + 0.000336579472433, + -0.0322614659652, + -0.0818105582019, + -0.123918445601, + -0.131098170435, + -0.0856526605097, + 0.00691610522056, + 0.112443283946, + 0.178573988609, + 0.161858288473, + 0.0594034614525, + -0.0773122547709, + -0.165193542607, + -0.144282787677, + -0.0285337973662, + 0.0945081100646, + 0.129596936615, + 0.0574058743663, + -0.0453954398584, + -0.0818660418109, + -0.0348333853359, + 0.023378970377, + 0.0285929142207, + 0.0035220203604, + 0.00490157113737, + 0.0201310067469, + -0.00787992394099, + -0.0536332439678, + -0.0216956559574, + 0.0679190419066, + 0.0600664303147, + -0.0627394082439, + -0.0894575757967, + 0.051206732864, + 0.104688319705, + -0.0450406111583, + -0.106561042075 + ], + [ + -0.0802632281374, + -0.0250507040093, + 0.0789970436683, + 0.0300993087637, + -0.0686850251087, + -0.0400128188055, + 0.0481449556978, + 0.0462342512678, + -0.0201642449206, + -0.0385013861787, + -0.00301993441623, + 0.0153683029595, + 0.00325262689385, + 0.00327347477158, + 0.0208573150813, + 0.0140885839827, + -0.0290245240807, + -0.0589032537106, + -0.0266940872976, + 0.0485736732115, + 0.0946135632615, + 0.0608665634686, + -0.0314328070137, + -0.110341076531, + -0.115909806795, + -0.0446395096075, + 0.0553267346202, + 0.123733843851, + 0.127050719997, + 0.0720370885987, + -0.00692841851454, + -0.0717745569, + -0.0997019129117, + -0.0893302474852, + -0.0554706725917, + -0.0188150238803, + 0.00331864737097, + 0.00192419915904, + -0.0232805236266, + -0.0663740484002, + -0.118708895748, + -0.171891727311, + -0.21960329431, + -0.258239528888, + -0.286700475509, + -0.305734031142, + -0.317163862163, + -0.323199129038, + -0.325905568064, + -0.326842769549, + -0.326842769549, + -0.325905568064, + -0.323199129038, + -0.317163862163, + -0.305734031142, + -0.286700475509, + -0.258239528888, + -0.21960329431, + -0.171891727311, + -0.118708895748, + -0.0663740484002, + -0.0232805236266, + 0.00192419915904, + 0.00331864737097, + -0.0188150238803, + -0.0554706725917, + -0.0893302474852, + -0.0997019129117, + -0.0717745569, + -0.00692841851454, + 0.0720370885987, + 0.127050719997, + 0.123733843851, + 0.0553267346202, + -0.0446395096075, + -0.115909806795, + -0.110341076531, + -0.0314328070137, + 0.0608665634686, + 0.0946135632615, + 0.0485736732115, + -0.0266940872976, + -0.0589032537106, + -0.0290245240807, + 0.0140885839827, + 0.0208573150813, + 0.00327347477158, + 0.00325262689385, + 0.0153683029595, + -0.00301993441623, + -0.0385013861787, + -0.0201642449206, + 0.0462342512678, + 0.0481449556978, + -0.0400128188055, + -0.0686850251087, + 0.0300993087637, + 0.0789970436683, + -0.0250507040093, + -0.0802632281374 + ], + [ + -0.0496021887203, + -0.0120156119636, + 0.0488762058016, + 0.0152931096875, + -0.0429566360176, + -0.0218984915538, + 0.0308872658122, + 0.0266493669137, + -0.0139551842824, + -0.0230531593558, + -0.000727011142991, + 0.00957798605477, + 0.00183842696974, + 0.00226569390594, + 0.0126245002567, + 0.00732999850358, + -0.0190281588488, + -0.0353239121167, + -0.013563039952, + 0.0321084934149, + 0.0572995399822, + 0.0335759754119, + -0.0233227792175, + -0.0688498190777, + -0.0682988155589, + -0.0222548076906, + 0.0383537772264, + 0.077195219856, + 0.0755989317532, + 0.0395425200263, + -0.00907092840231, + -0.0472385770744, + -0.062016907544, + -0.0536400676448, + -0.0318512331622, + -0.0094442967549, + 0.00328265261292, + 0.00131322124945, + -0.0150559336279, + -0.0418907852169, + -0.0737842835915, + -0.10564719507, + -0.133758271541, + -0.156093255466, + -0.172149669431, + -0.182520928469, + -0.18841787018, + -0.191251803964, + -0.192320792175, + -0.192596940127, + -0.192596940127, + -0.192320792175, + -0.191251803964, + -0.18841787018, + -0.182520928469, + -0.172149669431, + -0.156093255466, + -0.133758271541, + -0.10564719507, + -0.0737842835915, + -0.0418907852169, + -0.0150559336279, + 0.00131322124945, + 0.00328265261292, + -0.0094442967549, + -0.0318512331622, + -0.0536400676448, + -0.062016907544, + -0.0472385770744, + -0.00907092840231, + 0.0395425200263, + 0.0755989317532, + 0.077195219856, + 0.0383537772264, + -0.0222548076906, + -0.0682988155589, + -0.0688498190777, + -0.0233227792175, + 0.0335759754119, + 0.0572995399822, + 0.0321084934149, + -0.013563039952, + -0.0353239121167, + -0.0190281588488, + 0.00732999850358, + 0.0126245002567, + 0.00226569390594, + 0.00183842696974, + 0.00957798605477, + -0.000727011142991, + -0.0230531593558, + -0.0139551842824, + 0.0266493669137, + 0.0308872658122, + -0.0218984915538, + -0.0429566360176, + 0.0152931096875, + 0.0488762058016, + -0.0120156119636, + -0.0496021887203 + ], + [ + -0.0167519616689, + -0.00348738812193, + 0.0165160936358, + 0.00462017902929, + -0.0145915363949, + -0.00692981252492, + 0.0106182109858, + 0.00868349390843, + -0.00495907919852, + -0.00766372482812, + -0.000057864654151, + 0.00324801050989, + 0.000592605303657, + 0.000805178914568, + 0.00421996052094, + 0.00224868370784, + -0.00660622187443, + -0.0117522626993, + -0.00409697942241, + 0.0111887159152, + 0.0191587474844, + 0.0106733930486, + -0.00851998433847, + -0.0233618528559, + -0.0225167142481, + -0.00663560312644, + 0.0136412958789, + 0.0261923979539, + 0.0250503970996, + 0.0125316595367, + -0.00385710232202, + -0.0164329660093, + -0.0210134446749, + -0.0178574519952, + -0.0103538427657, + -0.00282562339034, + 0.0013151277659, + 0.000464485590304, + -0.00519954191978, + -0.0143025307783, + -0.0250072802952, + -0.0356104075348, + -0.044884849547, + -0.0521799681279, + -0.0573550174301, + -0.0606319537745, + -0.0624336054036, + -0.0632444158591, + -0.0635066094609, + -0.0635501555742, + -0.0635501555742, + -0.0635066094609, + -0.0632444158591, + -0.0624336054036, + -0.0606319537745, + -0.0573550174301, + -0.0521799681279, + -0.044884849547, + -0.0356104075348, + -0.0250072802952, + -0.0143025307783, + -0.00519954191978, + 0.000464485590304, + 0.0013151277659, + -0.00282562339034, + -0.0103538427657, + -0.0178574519952, + -0.0210134446749, + -0.0164329660093, + -0.00385710232202, + 0.0125316595367, + 0.0250503970996, + 0.0261923979539, + 0.0136412958789, + -0.00663560312644, + -0.0225167142481, + -0.0233618528559, + -0.00851998433847, + 0.0106733930486, + 0.0191587474844, + 0.0111887159152, + -0.00409697942241, + -0.0117522626993, + -0.00660622187443, + 0.00224868370784, + 0.00421996052094, + 0.000805178914568, + 0.000592605303657, + 0.00324801050989, + -0.0000578646541511, + -0.00766372482812, + -0.00495907919852, + 0.00868349390843, + 0.0106182109858, + -0.00692981252492, + -0.0145915363949, + 0.00462017902929, + 0.0165160936358, + -0.00348738812193, + -0.0167519616689 + ], + [ + 0.0167519616689, + 0.00348738812193, + -0.0165160936358, + -0.00462017902929, + 0.0145915363949, + 0.00692981252492, + -0.0106182109858, + -0.00868349390843, + 0.00495907919852, + 0.00766372482812, + 0.000057864654151, + -0.00324801050989, + -0.000592605303657, + -0.000805178914568, + -0.00421996052094, + -0.00224868370784, + 0.00660622187443, + 0.0117522626993, + 0.00409697942241, + -0.0111887159152, + -0.0191587474844, + -0.0106733930486, + 0.00851998433847, + 0.0233618528559, + 0.0225167142481, + 0.00663560312644, + -0.0136412958789, + -0.0261923979539, + -0.0250503970996, + -0.0125316595367, + 0.00385710232202, + 0.0164329660093, + 0.0210134446749, + 0.0178574519952, + 0.0103538427657, + 0.00282562339034, + -0.0013151277659, + -0.000464485590304, + 0.00519954191978, + 0.0143025307783, + 0.0250072802952, + 0.0356104075348, + 0.044884849547, + 0.0521799681279, + 0.0573550174301, + 0.0606319537745, + 0.0624336054036, + 0.0632444158591, + 0.0635066094609, + 0.0635501555742, + 0.0635501555742, + 0.0635066094609, + 0.0632444158591, + 0.0624336054036, + 0.0606319537745, + 0.0573550174301, + 0.0521799681279, + 0.044884849547, + 0.0356104075348, + 0.0250072802952, + 0.0143025307783, + 0.00519954191978, + -0.000464485590304, + -0.0013151277659, + 0.00282562339034, + 0.0103538427657, + 0.0178574519952, + 0.0210134446749, + 0.0164329660093, + 0.00385710232202, + -0.0125316595367, + -0.0250503970996, + -0.0261923979539, + -0.0136412958789, + 0.00663560312644, + 0.0225167142481, + 0.0233618528559, + 0.00851998433847, + -0.0106733930486, + -0.0191587474844, + -0.0111887159152, + 0.00409697942241, + 0.0117522626993, + 0.00660622187443, + -0.00224868370784, + -0.00421996052094, + -0.000805178914568, + -0.000592605303657, + -0.00324801050989, + 0.0000578646541511, + 0.00766372482812, + 0.00495907919852, + -0.00868349390843, + -0.0106182109858, + 0.00692981252492, + 0.0145915363949, + -0.00462017902929, + -0.0165160936358, + 0.00348738812193, + 0.0167519616689 + ], + [ + 0.0496021887203, + 0.0120156119636, + -0.0488762058016, + -0.0152931096875, + 0.0429566360176, + 0.0218984915538, + -0.0308872658122, + -0.0266493669137, + 0.0139551842824, + 0.0230531593558, + 0.000727011142991, + -0.00957798605477, + -0.00183842696974, + -0.00226569390594, + -0.0126245002567, + -0.00732999850358, + 0.0190281588488, + 0.0353239121167, + 0.013563039952, + -0.0321084934149, + -0.0572995399822, + -0.0335759754119, + 0.0233227792175, + 0.0688498190777, + 0.0682988155589, + 0.0222548076906, + -0.0383537772264, + -0.077195219856, + -0.0755989317532, + -0.0395425200263, + 0.00907092840231, + 0.0472385770744, + 0.062016907544, + 0.0536400676448, + 0.0318512331622, + 0.0094442967549, + -0.00328265261292, + -0.00131322124945, + 0.0150559336279, + 0.0418907852169, + 0.0737842835915, + 0.10564719507, + 0.133758271541, + 0.156093255466, + 0.172149669431, + 0.182520928469, + 0.18841787018, + 0.191251803964, + 0.192320792175, + 0.192596940127, + 0.192596940127, + 0.192320792175, + 0.191251803964, + 0.18841787018, + 0.182520928469, + 0.172149669431, + 0.156093255466, + 0.133758271541, + 0.10564719507, + 0.0737842835915, + 0.0418907852169, + 0.0150559336279, + -0.00131322124945, + -0.00328265261292, + 0.0094442967549, + 0.0318512331622, + 0.0536400676448, + 0.062016907544, + 0.0472385770744, + 0.00907092840231, + -0.0395425200263, + -0.0755989317532, + -0.077195219856, + -0.0383537772264, + 0.0222548076906, + 0.0682988155589, + 0.0688498190777, + 0.0233227792175, + -0.0335759754119, + -0.0572995399822, + -0.0321084934149, + 0.013563039952, + 0.0353239121167, + 0.0190281588488, + -0.00732999850358, + -0.0126245002567, + -0.00226569390594, + -0.00183842696974, + -0.00957798605477, + 0.000727011142991, + 0.0230531593558, + 0.0139551842824, + -0.0266493669137, + -0.0308872658122, + 0.0218984915538, + 0.0429566360176, + -0.0152931096875, + -0.0488762058016, + 0.0120156119636, + 0.0496021887203 + ], + [ + 0.0802632281374, + 0.0250507040093, + -0.0789970436683, + -0.0300993087637, + 0.0686850251087, + 0.0400128188055, + -0.0481449556978, + -0.0462342512678, + 0.0201642449206, + 0.0385013861787, + 0.00301993441623, + -0.0153683029595, + -0.00325262689385, + -0.00327347477158, + -0.0208573150813, + -0.0140885839827, + 0.0290245240807, + 0.0589032537106, + 0.0266940872976, + -0.0485736732115, + -0.0946135632615, + -0.0608665634686, + 0.0314328070137, + 0.110341076531, + 0.115909806795, + 0.0446395096075, + -0.0553267346202, + -0.123733843851, + -0.127050719997, + -0.0720370885987, + 0.00692841851454, + 0.0717745569, + 0.0997019129117, + 0.0893302474852, + 0.0554706725917, + 0.0188150238803, + -0.00331864737097, + -0.00192419915904, + 0.0232805236266, + 0.0663740484002, + 0.118708895748, + 0.171891727311, + 0.21960329431, + 0.258239528888, + 0.286700475509, + 0.305734031142, + 0.317163862163, + 0.323199129038, + 0.325905568064, + 0.326842769549, + 0.326842769549, + 0.325905568064, + 0.323199129038, + 0.317163862163, + 0.305734031142, + 0.286700475509, + 0.258239528888, + 0.21960329431, + 0.171891727311, + 0.118708895748, + 0.0663740484002, + 0.0232805236266, + -0.00192419915904, + -0.00331864737097, + 0.0188150238803, + 0.0554706725917, + 0.0893302474852, + 0.0997019129117, + 0.0717745569, + 0.00692841851454, + -0.0720370885987, + -0.127050719997, + -0.123733843851, + -0.0553267346202, + 0.0446395096075, + 0.115909806795, + 0.110341076531, + 0.0314328070137, + -0.0608665634686, + -0.0946135632615, + -0.0485736732115, + 0.0266940872976, + 0.0589032537106, + 0.0290245240807, + -0.0140885839827, + -0.0208573150813, + -0.00327347477158, + -0.00325262689385, + -0.0153683029595, + 0.00301993441623, + 0.0385013861787, + 0.0201642449206, + -0.0462342512678, + -0.0481449556978, + 0.0400128188055, + 0.0686850251087, + -0.0300993087637, + -0.0789970436683, + 0.0250507040093, + 0.0802632281374 + ], + [ + 0.106561042075, + 0.0450406111583, + -0.104688319705, + -0.051206732864, + 0.0894575757967, + 0.0627394082439, + -0.0600664303147, + -0.0679190419066, + 0.0216956559574, + 0.0536332439678, + 0.00787992394099, + -0.0201310067469, + -0.00490157113737, + -0.0035220203604, + -0.0285929142207, + -0.023378970377, + 0.0348333853359, + 0.0818660418109, + 0.0453954398584, + -0.0574058743663, + -0.129596936615, + -0.0945081100646, + 0.0285337973662, + 0.144282787677, + 0.165193542607, + 0.0773122547709, + -0.0594034614525, + -0.161858288473, + -0.178573988609, + -0.112443283946, + -0.00691610522056, + 0.0856526605097, + 0.131098170435, + 0.123918445601, + 0.0818105582019, + 0.0322614659652, + -0.000336579472433, + -0.00215061805891, + 0.0287877453397, + 0.0855316209408, + 0.156790174769, + 0.231063501625, + 0.299316029283, + 0.356058002199, + 0.399217978894, + 0.429340298451, + 0.44856377868, + 0.459671437305, + 0.465341892259, + 0.467626304234, + 0.467626304234, + 0.465341892259, + 0.459671437305, + 0.44856377868, + 0.429340298451, + 0.399217978894, + 0.356058002199, + 0.299316029283, + 0.231063501625, + 0.156790174769, + 0.0855316209408, + 0.0287877453397, + -0.00215061805891, + -0.000336579472433, + 0.0322614659652, + 0.0818105582019, + 0.123918445601, + 0.131098170435, + 0.0856526605097, + -0.00691610522056, + -0.112443283946, + -0.178573988609, + -0.161858288473, + -0.0594034614525, + 0.0773122547709, + 0.165193542607, + 0.144282787677, + 0.0285337973662, + -0.0945081100646, + -0.129596936615, + -0.0574058743663, + 0.0453954398584, + 0.0818660418109, + 0.0348333853359, + -0.023378970377, + -0.0285929142207, + -0.0035220203604, + -0.00490157113737, + -0.0201310067469, + 0.00787992394099, + 0.0536332439678, + 0.0216956559574, + -0.0679190419066, + -0.0600664303147, + 0.0627394082439, + 0.0894575757967, + -0.051206732864, + -0.104688319705, + 0.0450406111583, + 0.106561042075 + ], + [ + 0.125420104096, + 0.0734568037818, + -0.122884643472, + -0.0797803695866, + 0.102287915197, + 0.0905258300632, + -0.064017009326, + -0.0912780208222, + 0.016736449357, + 0.0674929881017, + 0.0159843935163, + -0.0232232592671, + -0.00678023193667, + -0.00271830181201, + -0.0352194632877, + -0.0356145185167, + 0.0345982193255, + 0.102712073593, + 0.0706625763074, + -0.0553332418546, + -0.159459047613, + -0.134934495546, + 0.0108061418827, + 0.166067191091, + 0.214009868963, + 0.12213307618, + -0.0457705568236, + -0.186471587415, + -0.22732500118, + -0.161265536487, + -0.0357260212026, + 0.0844687599653, + 0.152345399276, + 0.15511566645, + 0.110283217042, + 0.0503143802807, + 0.00640996263647, + -0.00186941808983, + 0.030545592061, + 0.0970255794173, + 0.184556889999, + 0.278930186988, + 0.368342262941, + 0.445073571504, + 0.505604694394, + 0.549790346779, + 0.579661867442, + 0.5982472093, + 0.608605409592, + 0.613133658844, + 0.613133658844, + 0.608605409592, + 0.5982472093, + 0.579661867442, + 0.549790346779, + 0.505604694394, + 0.445073571504, + 0.368342262941, + 0.278930186988, + 0.184556889999, + 0.0970255794173, + 0.030545592061, + -0.00186941808983, + 0.00640996263647, + 0.0503143802807, + 0.110283217042, + 0.15511566645, + 0.152345399276, + 0.0844687599653, + -0.0357260212026, + -0.161265536487, + -0.22732500118, + -0.186471587415, + -0.0457705568236, + 0.12213307618, + 0.214009868963, + 0.166067191091, + 0.0108061418827, + -0.134934495546, + -0.159459047613, + -0.0553332418546, + 0.0706625763074, + 0.102712073593, + 0.0345982193255, + -0.0356145185167, + -0.0352194632877, + -0.00271830181201, + -0.00678023193667, + -0.0232232592671, + 0.0159843935163, + 0.0674929881017, + 0.016736449357, + -0.0912780208222, + -0.064017009326, + 0.0905258300632, + 0.102287915197, + -0.0797803695866, + -0.122884643472, + 0.0734568037818, + 0.125420104096 + ], + [ + 0.132873874669, + 0.11018123906, + -0.129666457258, + -0.115398058059, + 0.103623136871, + 0.122303325673, + -0.0572614364283, + -0.114644147197, + 0.00382046549247, + 0.0784192146018, + 0.0275426848741, + -0.0238645510058, + -0.00878227303608, + -0.000626631544554, + -0.0397960756986, + -0.0505255824514, + 0.0265690325189, + 0.118888141308, + 0.102066138559, + -0.0393760707397, + -0.179942565719, + -0.180351591737, + -0.0243694638935, + 0.170189238544, + 0.257688559032, + 0.178372713234, + -0.0107205877603, + -0.191520337546, + -0.268002604458, + -0.21625311877, + -0.0808403556305, + 0.0643546240941, + 0.158840195268, + 0.179163727705, + 0.138761388215, + 0.0723760844407, + 0.0171314460925, + -0.00100167860583, + 0.0276910468382, + 0.0985675737481, + 0.198179769606, + 0.310303473264, + 0.420492849673, + 0.518508513197, + 0.598866544394, + 0.660150106603, + 0.703744104362, + 0.732481924804, + 0.749481525681, + 0.757280216489, + 0.757280216489, + 0.749481525681, + 0.732481924804, + 0.703744104362, + 0.660150106603, + 0.598866544394, + 0.518508513197, + 0.420492849673, + 0.310303473264, + 0.198179769606, + 0.0985675737481, + 0.0276910468382, + -0.00100167860583, + 0.0171314460925, + 0.0723760844407, + 0.138761388215, + 0.179163727705, + 0.158840195268, + 0.0643546240941, + -0.0808403556305, + -0.21625311877, + -0.268002604458, + -0.191520337546, + -0.0107205877603, + 0.178372713234, + 0.257688559032, + 0.170189238544, + -0.0243694638935, + -0.180351591737, + -0.179942565719, + -0.0393760707397, + 0.102066138559, + 0.118888141308, + 0.0265690325189, + -0.0505255824514, + -0.0397960756986, + -0.000626631544554, + -0.00878227303608, + -0.0238645510058, + 0.0275426848741, + 0.0784192146018, + 0.00382046549247, + -0.114644147197, + -0.0572614364283, + 0.122303325673, + 0.103623136871, + -0.115398058059, + -0.129666457258, + 0.11018123906, + 0.132873874669 + ], + [ + 0.124492408757, + 0.152818366409, + -0.120694801813, + -0.155427768518, + 0.0898313141654, + 0.155031549208, + -0.0374894745006, + -0.134902443203, + -0.0177110677732, + 0.0840768613925, + 0.0420439594867, + -0.0212382766408, + -0.0106772239662, + 0.00285673499396, + -0.0411033055924, + -0.0669137092547, + 0.00951435230044, + 0.126856653854, + 0.137215359343, + -0.00759598584826, + -0.185569856681, + -0.226140931268, + -0.0773459991369, + 0.1510049046, + 0.288913900683, + 0.241758792089, + 0.0471098834974, + -0.17084663156, + -0.292921343448, + -0.27173123213, + -0.140619196326, + 0.0229811021503, + 0.145880109445, + 0.19103373187, + 0.163437414466, + 0.0964435544774, + 0.0312874756191, + 0.000459877383807, + 0.0197212114264, + 0.0882804293202, + 0.193909169015, + 0.319447041753, + 0.448231309912, + 0.567388633928, + 0.669009842463, + 0.749790653826, + 0.809845259791, + 0.851270993951, + 0.87683018745, + 0.888926023679, + 0.888926023679, + 0.87683018745, + 0.851270993951, + 0.809845259791, + 0.749790653826, + 0.669009842463, + 0.567388633928, + 0.448231309912, + 0.319447041753, + 0.193909169015, + 0.0882804293202, + 0.0197212114264, + 0.000459877383807, + 0.0312874756191, + 0.0964435544774, + 0.163437414466, + 0.19103373187, + 0.145880109445, + 0.0229811021503, + -0.140619196326, + -0.27173123213, + -0.292921343448, + -0.17084663156, + 0.0471098834974, + 0.241758792089, + 0.288913900683, + 0.1510049046, + -0.0773459991369, + -0.226140931268, + -0.185569856681, + -0.00759598584826, + 0.137215359343, + 0.126856653854, + 0.00951435230044, + -0.0669137092547, + -0.0411033055924, + 0.00285673499396, + -0.0106772239662, + -0.0212382766408, + 0.0420439594867, + 0.0840768613925, + -0.0177110677732, + -0.134902443203, + -0.0374894745006, + 0.155031549208, + 0.0898313141654, + -0.155427768518, + -0.120694801813, + 0.152818366409, + 0.124492408757 + ], + [ + 0.0963486581888, + 0.196125834482, + -0.0921765674204, + -0.19456076335, + 0.0581559972975, + 0.183473202566, + -0.00367845304977, + -0.147567622331, + -0.0470954871374, + 0.0817370145036, + 0.0580116380857, + -0.0146965653235, + -0.0121073745766, + 0.00760466768543, + -0.0378292512019, + -0.0824858554933, + -0.0166651589083, + 0.12254363648, + 0.171374751037, + 0.0398220604882, + -0.170501245352, + -0.264640435472, + -0.144925717308, + 0.104203747816, + 0.298350627688, + 0.303810584728, + 0.12516252667, + -0.119813110659, + -0.292893917087, + -0.318422229308, + -0.20940911793, + -0.0390615517108, + 0.109875169328, + 0.185163994023, + 0.179054078214, + 0.119004753391, + 0.047405418788, + 0.00242032891001, + 0.00674731251999, + 0.0652606351444, + 0.168882283802, + 0.301015967197, + 0.443622724227, + 0.581397317775, + 0.703729999742, + 0.804879010548, + 0.883043510483, + 0.938976665585, + 0.974591988982, + 0.991818989345, + 0.991818989345, + 0.974591988982, + 0.938976665585, + 0.883043510483, + 0.804879010548, + 0.703729999742, + 0.581397317775, + 0.443622724227, + 0.301015967197, + 0.168882283802, + 0.0652606351444, + 0.00674731251999, + 0.00242032891001, + 0.047405418788, + 0.119004753391, + 0.179054078214, + 0.185163994023, + 0.109875169328, + -0.0390615517108, + -0.20940911793, + -0.318422229308, + -0.292893917087, + -0.119813110659, + 0.12516252667, + 0.303810584728, + 0.298350627688, + 0.104203747816, + -0.144925717308, + -0.264640435472, + -0.170501245352, + 0.0398220604882, + 0.171374751037, + 0.12254363648, + -0.0166651589083, + -0.0824858554933, + -0.0378292512019, + 0.00760466768543, + -0.0121073745766, + -0.0146965653235, + 0.0580116380857, + 0.0817370145036, + -0.0470954871374, + -0.147567622331, + -0.00367845304977, + 0.183473202566, + 0.0581559972975, + -0.19456076335, + -0.0921765674204, + 0.196125834482, + 0.0963486581888 + ], + [ + 0.0465413444722, + 0.231897016338, + -0.042371824903, + -0.224819811632, + 0.00810355055671, + 0.200474211117, + 0.0428052072524, + -0.147336642136, + -0.0815189369967, + 0.0688813066715, + 0.0728727746155, + -0.00406315744529, + -0.0126211325384, + 0.0131584442809, + -0.0289190293556, + -0.0939006730967, + -0.0502219414785, + 0.102273301144, + 0.197513836457, + 0.0993504153991, + -0.130119000527, + -0.285684884743, + -0.219226111285, + 0.0289289299692, + 0.276316837551, + 0.351958557481, + 0.215437108036, + -0.0376107877657, + -0.259164209444, + -0.344193652198, + -0.276965192047, + -0.116791192043, + 0.0500473068847, + 0.156824993763, + 0.179673615591, + 0.135264521488, + 0.0630219424421, + 0.0046579751268, + -0.0102369508262, + 0.0302783487054, + 0.122267641307, + 0.251563486262, + 0.400070514742, + 0.55070208, + 0.690209763964, + 0.810068192974, + 0.906004782997, + 0.976827633112, + 1.02307429278, + 1.04581917676, + 1.04581917676, + 1.02307429278, + 0.976827633112, + 0.906004782997, + 0.810068192974, + 0.690209763964, + 0.55070208, + 0.400070514742, + 0.251563486262, + 0.122267641307, + 0.0302783487054, + -0.0102369508262, + 0.0046579751268, + 0.0630219424421, + 0.135264521488, + 0.179673615591, + 0.156824993763, + 0.0500473068847, + -0.116791192043, + -0.276965192047, + -0.344193652198, + -0.259164209444, + -0.0376107877657, + 0.215437108036, + 0.351958557481, + 0.276316837551, + 0.0289289299692, + -0.219226111285, + -0.285684884743, + -0.130119000527, + 0.0993504153991, + 0.197513836457, + 0.102273301144, + -0.0502219414785, + -0.0939006730967, + -0.0289190293556, + 0.0131584442809, + -0.0126211325384, + -0.00406315744529, + 0.0728727746155, + 0.0688813066715, + -0.0815189369967, + -0.147336642136, + 0.0428052072524, + 0.200474211117, + 0.00810355055671, + -0.224819811632, + -0.042371824903, + 0.231897016338, + 0.0465413444722 + ], + [ + -0.0229261885198, + 0.249722313091, + 0.0265628053593, + -0.236433668239, + -0.0569813811046, + 0.19804717213, + 0.0971467820682, + -0.129269549308, + -0.115731962874, + 0.0441368063119, + 0.0830943219296, + 0.0100162834957, + -0.0117584756702, + 0.0186675365489, + -0.0140705705356, + -0.097181464623, + -0.0869725135762, + 0.064183715692, + 0.20712355119, + 0.163177302868, + -0.0632450902161, + -0.278292064431, + -0.28730759856, + -0.0698431848024, + 0.215631069239, + 0.371029296275, + 0.303725187923, + 0.0701892005927, + -0.186403833323, + -0.336147749719, + -0.328929776713, + -0.199811789977, + -0.0297097044522, + 0.104030524234, + 0.160080225001, + 0.139856733538, + 0.0748621362032, + 0.0068197574813, + -0.0291657653681, + -0.0135510229231, + 0.0565630921629, + 0.171470488083, + 0.314781322078, + 0.468806949751, + 0.618203744085, + 0.751682042476, + 0.862175810442, + 0.946071753046, + 1.00205351493, + 1.02996856229, + 1.02996856229, + 1.00205351493, + 0.946071753046, + 0.862175810442, + 0.751682042476, + 0.618203744085, + 0.468806949751, + 0.314781322078, + 0.171470488083, + 0.0565630921629, + -0.0135510229231, + -0.0291657653681, + 0.00681975748131, + 0.0748621362032, + 0.139856733538, + 0.160080225001, + 0.104030524234, + -0.0297097044522, + -0.199811789977, + -0.328929776713, + -0.336147749719, + -0.186403833323, + 0.0701892005927, + 0.303725187923, + 0.371029296275, + 0.215631069239, + -0.0698431848024, + -0.28730759856, + -0.278292064431, + -0.0632450902161, + 0.163177302868, + 0.20712355119, + 0.064183715692, + -0.0869725135762, + -0.097181464623, + -0.0140705705356, + 0.0186675365489, + -0.0117584756702, + 0.0100162834957, + 0.0830943219296, + 0.0441368063119, + -0.115731962874, + -0.129269549308, + 0.0971467820682, + 0.19804717213, + -0.0569813811046, + -0.236433668239, + 0.0265628053593, + 0.249722313091, + -0.0229261885198 + ], + [ + -0.104438732893, + 0.239007287068, + 0.106922969014, + -0.219896254687, + -0.128683376161, + 0.169434809354, + 0.150558949938, + -0.0905921296772, + -0.142273711825, + 0.00840207480805, + 0.0847412506504, + 0.0257898453522, + -0.00919325522488, + 0.0229282605575, + 0.00572041400194, + -0.0886100066936, + -0.120188042677, + 0.00989648209976, + 0.19205641821, + 0.219167806021, + 0.0254579903577, + -0.233675263752, + -0.332320828906, + -0.179475898255, + 0.115338404935, + 0.346527574827, + 0.370505853243, + 0.18972756472, + -0.0763301462796, + -0.284202732836, + -0.348969573623, + -0.272501039667, + -0.119448341158, + 0.0296287399547, + 0.117723606478, + 0.128119476596, + 0.0793613552872, + 0.00845330835335, + -0.0469227653134, + -0.060405819328, + -0.0213402813346, + 0.066871042956, + 0.191559731028, + 0.336115231158, + 0.484210763236, + 0.622326389573, + 0.740681935759, + 0.833042539041, + 0.895929037527, + 0.927680565952, + 0.927680565952, + 0.895929037527, + 0.833042539041, + 0.740681935759, + 0.622326389573, + 0.484210763236, + 0.336115231158, + 0.191559731028, + 0.066871042956, + -0.0213402813346, + -0.060405819328, + -0.0469227653134, + 0.00845330835335, + 0.0793613552872, + 0.128119476596, + 0.117723606478, + 0.0296287399547, + -0.119448341158, + -0.272501039667, + -0.348969573623, + -0.284202732836, + -0.0763301462796, + 0.18972756472, + 0.370505853243, + 0.346527574827, + 0.115338404935, + -0.179475898255, + -0.332320828906, + -0.233675263752, + 0.0254579903577, + 0.219167806021, + 0.19205641821, + 0.00989648209976, + -0.120188042677, + -0.0886100066936, + 0.00572041400194, + 0.0229282605575, + -0.00919325522488, + 0.0257898453522, + 0.0847412506504, + 0.00840207480805, + -0.142273711825, + -0.0905921296772, + 0.150558949938, + 0.169434809354, + -0.128683376161, + -0.219896254687, + 0.106922969014, + 0.239007287068, + -0.104438732893 + ], + [ + -0.184109663691, + 0.192321024879, + 0.184864365428, + -0.169210719292, + -0.193424632525, + 0.111996025311, + 0.190926218315, + -0.0328051007075, + -0.152667305895, + -0.0341816861824, + 0.0745319758696, + 0.0403545317848, + -0.00491328277887, + 0.0245788796427, + 0.0277660661805, + -0.0660741097782, + -0.141371264067, + -0.0540929648384, + 0.147358317608, + 0.252416213909, + 0.123803368819, + -0.149267136119, + -0.336803032534, + -0.27958824853, + -0.0156339637013, + 0.269628429515, + 0.394331484145, + 0.298866140785, + 0.0591314426294, + -0.185732120273, + -0.322859256371, + -0.316182599699, + -0.203162513876, + -0.0571470169357, + 0.0548013644165, + 0.0978185203223, + 0.0735630992652, + 0.00908873692375, + -0.0597144634447, + -0.102069510807, + -0.0999111304813, + -0.0491800495863, + 0.0430820324204, + 0.163331435995, + 0.295904916673, + 0.426179891703, + 0.542281935247, + 0.635585601762, + 0.700446932622, + 0.733606357384, + 0.733606357384, + 0.700446932622, + 0.635585601762, + 0.542281935247, + 0.426179891703, + 0.295904916673, + 0.163331435995, + 0.0430820324204, + -0.0491800495863, + -0.0999111304813, + -0.102069510807, + -0.0597144634447, + 0.00908873692375, + 0.0735630992652, + 0.0978185203223, + 0.0548013644165, + -0.0571470169357, + -0.203162513876, + -0.316182599699, + -0.322859256371, + -0.185732120273, + 0.0591314426294, + 0.298866140785, + 0.394331484145, + 0.269628429515, + -0.0156339637013, + -0.27958824853, + -0.336803032534, + -0.149267136119, + 0.123803368819, + 0.252416213909, + 0.147358317608, + -0.0540929648384, + -0.141371264067, + -0.0660741097782, + 0.0277660661805, + 0.0245788796427, + -0.00491328277887, + 0.0403545317848, + 0.0745319758696, + -0.0341816861824, + -0.152667305895, + -0.0328051007075, + 0.190926218315, + 0.111996025311, + -0.193424632525, + -0.169210719292, + 0.184864365428, + 0.192321024879, + -0.184109663691 + ], + [ + -0.243217233492, + 0.109524199527, + 0.241894582095, + -0.0857102138956, + -0.234372147983, + 0.0302076227294, + 0.205164413647, + 0.0366272645136, + -0.139743550465, + -0.0759601076083, + 0.0512725401009, + 0.0500413998718, + 0.000615530500891, + 0.0224749586686, + 0.0477255803509, + -0.030588318591, + -0.142199307728, + -0.116120983052, + 0.0745290900127, + 0.248816788564, + 0.212362347668, + -0.0326780752372, + -0.288161422341, + -0.344960399296, + -0.156549244259, + 0.142865224723, + 0.357927951103, + 0.370416148074, + 0.196819887631, + -0.0499745209773, + -0.244063489206, + -0.313675703043, + -0.261067486648, + -0.140666031186, + -0.0202866652535, + 0.0509081867133, + 0.0562752525194, + 0.00836992027957, + -0.0638786995872, + -0.12923843175, + -0.164195768156, + -0.157278023881, + -0.108615618347, + -0.0267689155057, + 0.0752304637116, + 0.183317270318, + 0.284730051657, + 0.369218845667, + 0.429395986957, + 0.460598777927, + 0.460598777927, + 0.429395986957, + 0.369218845667, + 0.284730051657, + 0.183317270318, + 0.0752304637116, + -0.0267689155057, + -0.108615618347, + -0.157278023881, + -0.164195768156, + -0.12923843175, + -0.0638786995872, + 0.00836992027957, + 0.0562752525194, + 0.0509081867133, + -0.0202866652535, + -0.140666031186, + -0.261067486648, + -0.313675703043, + -0.244063489206, + -0.0499745209773, + 0.196819887631, + 0.370416148074, + 0.357927951103, + 0.142865224723, + -0.156549244259, + -0.344960399296, + -0.288161422341, + -0.0326780752372, + 0.212362347668, + 0.248816788564, + 0.0745290900127, + -0.116120983052, + -0.142199307728, + -0.030588318591, + 0.0477255803509, + 0.0224749586686, + 0.000615530500891, + 0.0500413998718, + 0.0512725401009, + -0.0759601076083, + -0.139743550465, + 0.0366272645136, + 0.205164413647, + 0.0302076227294, + -0.234372147983, + -0.0857102138956, + 0.241894582095, + 0.109524199527, + -0.243217233492 + ], + [ + -0.262494876938, + 0.00127571896011, + 0.259171784305, + 0.0189399347105, + -0.235812598735, + -0.0625437779924, + 0.183358202462, + 0.104084248517, + -0.100773140378, + -0.106797279417, + 0.0172565897391, + 0.0513419269584, + 0.00638830596521, + 0.0161916965631, + 0.0603519016602, + 0.0126033787181, + -0.117512236935, + -0.161028576665, + -0.0160138110337, + 0.200345386248, + 0.267891277003, + 0.0962825471681, + -0.185262537281, + -0.352062223773, + -0.276680571739, + -0.0156337238486, + 0.255993477184, + 0.379202172012, + 0.30528395026, + 0.0999170390012, + -0.119272328981, + -0.255700200131, + -0.274589511519, + -0.201387402196, + -0.0931277268153, + -0.00539957819573, + 0.0291545027034, + 0.00621076726611, + -0.0570611282541, + -0.133906558058, + -0.19892210552, + -0.234849946935, + -0.234786802402, + -0.200995832145, + -0.141999615239, + -0.0693713652794, + 0.00491796515035, + 0.0702785432405, + 0.118460294673, + 0.143928329839, + 0.143928329839, + 0.118460294673, + 0.0702785432405, + 0.00491796515035, + -0.0693713652794, + -0.141999615239, + -0.200995832145, + -0.234786802402, + -0.234849946935, + -0.19892210552, + -0.133906558058, + -0.0570611282541, + 0.00621076726611, + 0.0291545027034, + -0.00539957819573, + -0.0931277268153, + -0.201387402196, + -0.274589511519, + -0.255700200131, + -0.119272328981, + 0.0999170390012, + 0.30528395026, + 0.379202172012, + 0.255993477184, + -0.0156337238486, + -0.276680571739, + -0.352062223773, + -0.185262537281, + 0.0962825471681, + 0.267891277003, + 0.200345386248, + -0.0160138110337, + -0.161028576665, + -0.117512236935, + 0.0126033787181, + 0.0603519016602, + 0.0161916965631, + 0.00638830596521, + 0.0513419269584, + 0.0172565897391, + -0.106797279417, + -0.100773140378, + 0.104084248517, + 0.183358202462, + -0.0625437779924, + -0.235812598735, + 0.0189399347105, + 0.259171784305, + 0.00127571896011, + -0.262494876938 + ], + [ + -0.229033862025, + -0.110205925088, + 0.22433253492, + 0.122562428329, + -0.189457861653, + -0.145043540263, + 0.123806589698, + 0.152156737942, + -0.0403997380552, + -0.116748724434, + -0.0210750599259, + 0.0422729913837, + 0.010999967099, + 0.00649005824689, + 0.0610372839039, + 0.0541484318003, + -0.0685637118094, + -0.174247348196, + -0.104973813136, + 0.110580565736, + 0.270241149271, + 0.207726796025, + -0.0436459805462, + -0.288341148409, + -0.34235242455, + -0.172296088669, + 0.102026349631, + 0.311970988758, + 0.352747305222, + 0.229596062675, + 0.0287363001793, + -0.147268671808, + -0.233377464406, + -0.221190974095, + -0.146014957558, + -0.059147592609, + -0.00280804809623, + 0.00292186494756, + -0.0394590052627, + -0.112422343512, + -0.193263090328, + -0.262136374954, + -0.306517101045, + -0.322206608132, + -0.31198444027, + -0.283179348886, + -0.245147024683, + -0.207210197019, + -0.177240193199, + -0.160818987304, + -0.160818987304, + -0.177240193199, + -0.207210197019, + -0.245147024683, + -0.283179348886, + -0.31198444027, + -0.322206608132, + -0.306517101045, + -0.262136374954, + -0.193263090328, + -0.112422343512, + -0.0394590052627, + 0.00292186494756, + -0.00280804809623, + -0.059147592609, + -0.146014957558, + -0.221190974095, + -0.233377464406, + -0.147268671808, + 0.0287363001793, + 0.229596062675, + 0.352747305222, + 0.311970988758, + 0.102026349631, + -0.172296088669, + -0.34235242455, + -0.288341148409, + -0.0436459805462, + 0.207726796025, + 0.270241149271, + 0.110580565736, + -0.104973813136, + -0.174247348196, + -0.0685637118094, + 0.0541484318003, + 0.0610372839039, + 0.00649005824689, + 0.010999967099, + 0.0422729913837, + -0.0210750599259, + -0.116748724434, + -0.0403997380552, + 0.152156737942, + 0.123806589698, + -0.145043540263, + -0.189457861653, + 0.122562428329, + 0.22433253492, + -0.110205925088, + -0.229033862025 + ], + [ + -0.143881641325, + -0.195224950076, + 0.138918419389, + 0.196956093786, + -0.100646831899, + -0.193432562316, + 0.0369539961076, + 0.164949059367, + 0.028250877477, + -0.10002209508, + -0.0540096235756, + 0.0237530612829, + 0.0130356511441, + -0.00451354278069, + 0.0478594706356, + 0.0826182912286, + -0.00503838810459, + -0.14769226831, + -0.168220066671, + -0.00219306058448, + 0.211357433212, + 0.26937924881, + 0.104100114203, + -0.161242101073, + -0.328783796199, + -0.285181036595, + -0.0698104438042, + 0.17688227469, + 0.319082406512, + 0.302452239155, + 0.163867498686, + -0.0109282538512, + -0.142083367832, + -0.190595804899, + -0.163324955413, + -0.0963758679285, + -0.0319664688599, + -0.000768518150296, + -0.0145910777212, + -0.068182354179, + -0.146007169128, + -0.229825731839, + -0.304400648646, + -0.360399080155, + -0.394800271324, + -0.409684782753, + -0.410320145711, + -0.403218766972, + -0.394538870402, + -0.38895160426, + -0.38895160426, + -0.394538870402, + -0.403218766972, + -0.410320145711, + -0.409684782753, + -0.394800271324, + -0.360399080155, + -0.304400648646, + -0.229825731839, + -0.146007169128, + -0.068182354179, + -0.0145910777212, + -0.000768518150297, + -0.0319664688599, + -0.0963758679285, + -0.163324955413, + -0.190595804899, + -0.142083367832, + -0.0109282538512, + 0.163867498686, + 0.302452239155, + 0.319082406512, + 0.17688227469, + -0.0698104438042, + -0.285181036595, + -0.328783796199, + -0.161242101073, + 0.104100114203, + 0.26937924881, + 0.211357433212, + -0.00219306058448, + -0.168220066671, + -0.14769226831, + -0.00503838810459, + 0.0826182912286, + 0.0478594706356, + -0.00451354278069, + 0.0130356511441, + 0.0237530612829, + -0.0540096235756, + -0.10002209508, + 0.028250877477, + 0.164949059367, + 0.0369539961076, + -0.193432562316, + -0.100646831899, + 0.196956093786, + 0.138918419389, + -0.195224950076, + -0.143881641325 + ], + [ + -0.0266659958095, + -0.226203135986, + 0.0227680365434, + 0.217396511203, + 0.00894504710549, + -0.190127902249, + -0.0545565072846, + 0.135197577264, + 0.0859508553404, + -0.0588600153853, + -0.0714030641835, + 0.000259982483291, + 0.0116510831094, + -0.0137376253464, + 0.0233277243714, + 0.0884799987867, + 0.0559548705783, + -0.0853702286556, + -0.185002520203, + -0.107341371748, + 0.102797876785, + 0.258958647147, + 0.215765209757, + -0.00204725661233, + -0.233221700187, + -0.318176134235, + -0.21155695157, + 0.00739141942633, + 0.207797031467, + 0.293564086237, + 0.246790209599, + 0.116539669063, + -0.0233235544748, + -0.115226218745, + -0.138277534713, + -0.105919676957, + -0.0501517686317, + -0.00386608137242, + 0.0110389522628, + -0.0124497292586, + -0.0688391615984, + -0.145535155459, + -0.228379010597, + -0.305619134216, + -0.369825784364, + -0.418055903323, + -0.450907783612, + -0.471101116299, + -0.482048963215, + -0.486689283655, + -0.486689283655, + -0.482048963215, + -0.471101116299, + -0.450907783612, + -0.418055903323, + -0.369825784364, + -0.305619134216, + -0.228379010597, + -0.145535155459, + -0.0688391615984, + -0.0124497292586, + 0.0110389522628, + -0.00386608137242, + -0.0501517686317, + -0.105919676957, + -0.138277534713, + -0.115226218745, + -0.0233235544748, + 0.116539669063, + 0.246790209599, + 0.293564086237, + 0.207797031467, + 0.00739141942633, + -0.21155695157, + -0.318176134235, + -0.233221700187, + -0.00204725661233, + 0.215765209757, + 0.258958647147, + 0.102797876785, + -0.107341371748, + -0.185002520203, + -0.0853702286556, + 0.0559548705783, + 0.0884799987867, + 0.0233277243714, + -0.0137376253464, + 0.0116510831094, + 0.000259982483291, + -0.0714030641835, + -0.0588600153853, + 0.0859508553404, + 0.135197577264, + -0.0545565072846, + -0.190127902249, + 0.00894504710549, + 0.217396511203, + 0.0227680365434, + -0.226203135986, + -0.0266659958095 + ], + [ + 0.0870154916771, + -0.19046455264, + -0.0887856110574, + 0.174599523102, + 0.105553544533, + -0.133546519907, + -0.121890768494, + 0.0702181893304, + 0.113837450819, + -0.00512456000422, + -0.066980537979, + -0.020994666305, + 0.00712270378871, + -0.0181759045448, + -0.00531231189617, + 0.0688516881717, + 0.095007306964, + -0.00542220493457, + -0.148034476008, + -0.171354047655, + -0.0232110441639, + 0.176918005287, + 0.254835523631, + 0.14036781829, + -0.0828124135158, + -0.258299305183, + -0.277920916963, + -0.144561606423, + 0.051504181318, + 0.203721529497, + 0.250676947746, + 0.195569996256, + 0.08673246632, + -0.0176939341084, + -0.0782008011122, + -0.0847808628106, + -0.0518761296174, + -0.0054433243501, + 0.0297719675355, + 0.0380764557398, + 0.0149142969408, + -0.0352340865102, + -0.102808464591, + -0.177050122043, + -0.248735159283, + -0.311485410203, + -0.361891243328, + -0.398885965007, + -0.422806457271, + -0.434469417779, + -0.434469417779, + -0.422806457271, + -0.398885965007, + -0.361891243328, + -0.311485410203, + -0.248735159283, + -0.177050122043, + -0.102808464591, + -0.0352340865102, + 0.0149142969408, + 0.0380764557398, + 0.0297719675355, + -0.0054433243501, + -0.0518761296174, + -0.0847808628106, + -0.0782008011122, + -0.0176939341084, + 0.08673246632, + 0.195569996256, + 0.250676947746, + 0.203721529497, + 0.051504181318, + -0.144561606423, + -0.277920916963, + -0.258299305183, + -0.0828124135158, + 0.14036781829, + 0.254835523631, + 0.176918005287, + -0.0232110441639, + -0.171354047655, + -0.148034476008, + -0.00542220493457, + 0.095007306964, + 0.0688516881717, + -0.00531231189618, + -0.0181759045448, + 0.00712270378871, + -0.020994666305, + -0.066980537979, + -0.00512456000422, + 0.113837450819, + 0.0702181893304, + -0.121890768494, + -0.133546519907, + 0.105553544533, + 0.174599523102, + -0.0887856110574, + -0.19046455264, + 0.0870154916771 + ], + [ + 0.157687234506, + -0.100333451547, + -0.157019840282, + 0.083377259254, + 0.15565685694, + -0.0433190211637, + -0.141708961341, + -0.00742978262213, + 0.102284010072, + 0.0425421262761, + -0.0423239531237, + -0.032657262752, + 0.00102873853706, + -0.0163121116429, + -0.0281361638992, + 0.0306576502186, + 0.0987639784485, + 0.0644216031645, + -0.0705043017525, + -0.172530814005, + -0.123077368494, + 0.0523096222983, + 0.208789741556, + 0.217313473313, + 0.0699832288807, + -0.127664210589, + -0.247626064727, + -0.227437287742, + -0.0954666169622, + 0.0655508461144, + 0.176414421209, + 0.200886503671, + 0.151217833009, + 0.0683603428119, + -0.00465071275575, + -0.0413666229495, + -0.0373521386423, + -0.00505700156427, + 0.0358263618047, + 0.0671653589019, + 0.0775579546114, + 0.0635759967464, + 0.0282604836503, + -0.0215661085053, + -0.077921500412, + -0.133538122953, + -0.182819738724, + -0.222032509564, + -0.249017056348, + -0.262711268091, + -0.262711268091, + -0.249017056348, + -0.222032509564, + -0.182819738724, + -0.133538122953, + -0.077921500412, + -0.0215661085053, + 0.0282604836503, + 0.0635759967464, + 0.0775579546114, + 0.0671653589019, + 0.0358263618047, + -0.00505700156427, + -0.0373521386423, + -0.0413666229495, + -0.00465071275575, + 0.0683603428119, + 0.151217833009, + 0.200886503671, + 0.176414421209, + 0.0655508461143, + -0.0954666169622, + -0.227437287742, + -0.247626064727, + -0.127664210589, + 0.0699832288807, + 0.217313473313, + 0.208789741556, + 0.0523096222983, + -0.123077368494, + -0.172530814005, + -0.0705043017525, + 0.0644216031645, + 0.0987639784485, + 0.0306576502186, + -0.0281361638992, + -0.0163121116429, + 0.00102873853706, + -0.032657262752, + -0.0423239531237, + 0.0425421262761, + 0.102284010072, + -0.00742978262213, + -0.141708961341, + -0.0433190211637, + 0.15565685694, + 0.083377259254, + -0.157019840282, + -0.100333451547, + 0.157687234506 + ], + [ + 0.160690585954, + 0.00704101484583, + -0.158252233654, + -0.0190011954449, + 0.142675485897, + 0.0444372250204, + -0.109042254568, + -0.0675414659716, + 0.0578436129747, + 0.0663658633294, + -0.00792665157714, + -0.030839586414, + -0.00422877208871, + -0.0092155035644, + -0.0368255223507, + -0.0105312004693, + 0.0679035403898, + 0.0983206626998, + 0.0157594573802, + -0.114334503198, + -0.160706214701, + -0.0650651880833, + 0.100581304828, + 0.204155512171, + 0.167456903761, + 0.019650192887, + -0.138957244486, + -0.215200054294, + -0.178763230986, + -0.0655487116133, + 0.0579315208794, + 0.136549876118, + 0.150028030175, + 0.112050965899, + 0.053978249084, + 0.00624780945129, + -0.0134859433466, + -0.00304559569557, + 0.0283162155698, + 0.0665766541017, + 0.0988247338347, + 0.1166985621, + 0.117268916446, + 0.102141626806, + 0.0757640165538, + 0.0437170679547, + 0.0114261795641, + -0.0165896562596, + -0.0370118891711, + -0.0477288675591, + -0.0477288675591, + -0.0370118891711, + -0.0165896562596, + 0.0114261795641, + 0.0437170679547, + 0.0757640165538, + 0.102141626806, + 0.117268916446, + 0.1166985621, + 0.0988247338347, + 0.0665766541017, + 0.0283162155698, + -0.00304559569557, + -0.0134859433466, + 0.00624780945129, + 0.053978249084, + 0.112050965899, + 0.150028030175, + 0.136549876118, + 0.0579315208794, + -0.0655487116133, + -0.178763230986, + -0.215200054294, + -0.138957244486, + 0.019650192887, + 0.167456903761, + 0.204155512171, + 0.100581304828, + -0.0650651880833, + -0.160706214701, + -0.114334503198, + 0.0157594573802, + 0.0983206626998, + 0.0679035403898, + -0.0105312004693, + -0.0368255223507, + -0.0092155035644, + -0.00422877208871, + -0.030839586414, + -0.00792665157714, + 0.0663658633294, + 0.0578436129747, + -0.0675414659716, + -0.109042254568, + 0.0444372250204, + 0.142675485897, + -0.0190011954449, + -0.158252233654, + 0.00704101484583, + 0.160690585954 + ], + [ + 0.102212434455, + 0.0846904759707, + -0.0993756940723, + -0.088342841917, + 0.0790702066885, + 0.0931902063298, + -0.0434616345046, + -0.0868832197883, + 0.00284922179599, + 0.0590596709542, + 0.020694607837, + -0.0178403634787, + -0.00654437824962, + -0.000458925183237, + -0.029380924318, + -0.0371397998567, + 0.0193812692488, + 0.0863470996408, + 0.0736937368827, + -0.028154826072, + -0.127901556394, + -0.127157767582, + -0.0170935047943, + 0.117527208465, + 0.175998313706, + 0.120338742683, + -0.00703766189332, + -0.125248202757, + -0.172271760367, + -0.136336115796, + -0.0499030872819, + 0.038627694019, + 0.0928235538049, + 0.10147378416, + 0.0758483306809, + 0.0380035891753, + 0.00860091075113, + -0.000474767879069, + 0.0124014434943, + 0.0412786900345, + 0.0768875328961, + 0.110409495125, + 0.135754413522, + 0.150266085004, + 0.154298039815, + 0.15023502556, + 0.141428269728, + 0.131317522551, + 0.122833580595, + 0.118057018738, + 0.118057018738, + 0.122833580595, + 0.131317522551, + 0.141428269728, + 0.15023502556, + 0.154298039815, + 0.150266085004, + 0.135754413522, + 0.110409495125, + 0.0768875328961, + 0.0412786900345, + 0.0124014434943, + -0.000474767879069, + 0.00860091075113, + 0.0380035891753, + 0.0758483306809, + 0.10147378416, + 0.0928235538049, + 0.038627694019, + -0.0499030872819, + -0.136336115796, + -0.172271760367, + -0.125248202757, + -0.00703766189332, + 0.120338742683, + 0.175998313706, + 0.117527208465, + -0.0170935047943, + -0.127157767582, + -0.127901556394, + -0.028154826072, + 0.0736937368827, + 0.0863470996408, + 0.0193812692488, + -0.0371397998567, + -0.029380924318, + -0.000458925183237, + -0.00654437824962, + -0.0178403634787, + 0.020694607837, + 0.0590596709542, + 0.00284922179599, + -0.0868832197883, + -0.0434616345046, + 0.0931902063298, + 0.0790702066885, + -0.088342841917, + -0.0993756940723, + 0.0846904759707, + 0.102212434455 + ], + [ + 0.0203504803369, + 0.101483201247, + -0.0184573768653, + -0.0980088663542, + 0.00347883772183, + 0.0870082892189, + 0.0185722018222, + -0.0636172832306, + -0.0351324044207, + 0.0295603904192, + 0.0311990622582, + -0.00172338736465, + -0.00536316095547, + 0.00557353786975, + -0.012177687115, + -0.039391067328, + -0.0209846642678, + 0.0424209360806, + 0.0814882894295, + 0.0407599835598, + -0.0529012742273, + -0.115332513906, + -0.087793806734, + 0.0114064429388, + 0.10839524519, + 0.136565648687, + 0.0825984610988, + -0.0141449267657, + -0.0963979932641, + -0.125928715496, + -0.0994837464276, + -0.0411228016913, + 0.0171543565929, + 0.0525050350973, + 0.05849284747, + 0.0426809979244, + 0.0192096539008, + 0.00136682322613, + -0.0028861199625, + 0.00810409332249, + 0.031166729997, + 0.0607700053487, + 0.0912791554968, + 0.118408563578, + 0.139780865675, + 0.154805901713, + 0.164184285846, + 0.169298979685, + 0.171663953023, + 0.172507714404, + 0.172507714404, + 0.171663953023, + 0.169298979685, + 0.164184285846, + 0.154805901713, + 0.139780865675, + 0.118408563578, + 0.0912791554968, + 0.0607700053487, + 0.031166729997, + 0.00810409332249, + -0.0028861199625, + 0.00136682322613, + 0.0192096539008, + 0.0426809979244, + 0.05849284747, + 0.0525050350973, + 0.0171543565929, + -0.0411228016913, + -0.0994837464276, + -0.125928715496, + -0.0963979932641, + -0.0141449267657, + 0.0825984610988, + 0.136565648687, + 0.10839524519, + 0.0114064429388, + -0.087793806734, + -0.115332513906, + -0.0529012742273, + 0.0407599835598, + 0.0814882894295, + 0.0424209360806, + -0.0209846642678, + -0.039391067328, + -0.012177687115, + 0.00557353786975, + -0.00536316095547, + -0.00172338736465, + 0.0311990622582, + 0.0295603904192, + -0.0351324044207, + -0.0636172832306, + 0.0185722018222, + 0.0870082892189, + 0.00347883772183, + -0.0980088663542, + -0.0184573768653, + 0.101483201247, + 0.0203504803369 + ], + [ + -0.0354851734235, + 0.0635739947866, + 0.0359293351215, + -0.0576878996149, + -0.0408658914626, + 0.0428703457128, + 0.0449246649081, + -0.0207680159571, + -0.0401476638523, + -0.000880625425877, + 0.0225451626021, + 0.00815857017193, + -0.0021932417926, + 0.00636327472852, + 0.0031793297303, + -0.0222576875508, + -0.033836099168, + -0.00201904712574, + 0.04779899754, + 0.0602899544449, + 0.0137264733332, + -0.0548764647773, + -0.0862291713591, + -0.0530219893566, + 0.0201924404241, + 0.0818255838695, + 0.0937411375706, + 0.0539523692936, + -0.00949016361184, + -0.0614264166341, + -0.0803506342834, + -0.0657303321336, + -0.0323041194542, + 0.00125303285245, + 0.0217549062404, + 0.025325502213, + 0.0160088221691, + 0.00172586284143, + -0.00978691048861, + -0.0135148667348, + -0.00787371502209, + 0.0059169742011, + 0.0250517807079, + 0.0463352502054, + 0.0670187936574, + 0.0851973282812, + 0.0998438523649, + 0.110621288163, + 0.117605289493, + 0.121015824348, + 0.121015824348, + 0.117605289493, + 0.110621288163, + 0.0998438523649, + 0.0851973282812, + 0.0670187936574, + 0.0463352502054, + 0.0250517807079, + 0.0059169742011, + -0.00787371502209, + -0.0135148667348, + -0.00978691048861, + 0.00172586284143, + 0.0160088221691, + 0.025325502213, + 0.0217549062404, + 0.00125303285245, + -0.0323041194542, + -0.0657303321336, + -0.0803506342834, + -0.0614264166341, + -0.00949016361183, + 0.0539523692936, + 0.0937411375706, + 0.0818255838695, + 0.0201924404241, + -0.0530219893566, + -0.0862291713591, + -0.0548764647773, + 0.0137264733332, + 0.0602899544449, + 0.04779899754, + -0.00201904712574, + -0.033836099168, + -0.0222576875508, + 0.0031793297303, + 0.00636327472852, + -0.0021932417926, + 0.00815857017193, + 0.0225451626021, + -0.000880625425877, + -0.0401476638523, + -0.0207680159571, + 0.0449246649081, + 0.0428703457128, + -0.0408658914626, + -0.0576878996149, + 0.0359293351215, + 0.0635739947866, + -0.0354851734235 + ], + [ + -0.0384818765676, + 0.0130031151489, + 0.0380771693431, + -0.00940906530844, + -0.0361962129667, + 0.00126337139224, + 0.0307110896874, + 0.00806323264948, + -0.0199426217158, + -0.0126926991013, + 0.00656517149079, + 0.00762861177979, + 0.000299961185178, + 0.00315743933565, + 0.00760407394197, + -0.00303428972586, + -0.0202636179865, + -0.0187572679946, + 0.00779870867396, + 0.0347268544455, + 0.0328163288392, + -0.000283591725257, + -0.037835325192, + -0.0493689801693, + -0.0261586931421, + 0.0146994925343, + 0.0462331638801, + 0.0510840920005, + 0.030199545813, + -0.00188090792242, + -0.0282737611737, + -0.0389992247493, + -0.0338439959812, + -0.0195441762251, + -0.00467895382324, + 0.00451348147484, + 0.00588942536516, + 0.000908798162658, + -0.00703697183583, + -0.0143824167073, + -0.0185671678827, + -0.0184698434881, + -0.0142614616464, + -0.00696261820066, + 0.00204435241214, + 0.0113960661814, + 0.0199688749222, + 0.0269550849317, + 0.0318419786717, + 0.0343461443381, + 0.0343461443381, + 0.0318419786717, + 0.0269550849317, + 0.0199688749222, + 0.0113960661814, + 0.00204435241214, + -0.00696261820066, + -0.0142614616464, + -0.0184698434881, + -0.0185671678827, + -0.0143824167073, + -0.00703697183583, + 0.000908798162658, + 0.00588942536516, + 0.00451348147484, + -0.00467895382324, + -0.0195441762251, + -0.0338439959812, + -0.0389992247493, + -0.0282737611737, + -0.00188090792242, + 0.030199545813, + 0.0510840920005, + 0.0462331638801, + 0.0146994925342, + -0.0261586931421, + -0.0493689801693, + -0.037835325192, + -0.000283591725257, + 0.0328163288392, + 0.0347268544455, + 0.00779870867396, + -0.0187572679946, + -0.0202636179865, + -0.00303428972586, + 0.00760407394197, + 0.00315743933565, + 0.000299961185178, + 0.00762861177979, + 0.00656517149079, + -0.0126926991013, + -0.0199426217158, + 0.00806323264948, + 0.0307110896874, + 0.00126337139224, + -0.0361962129667, + -0.00940906530844, + 0.0380771693431, + 0.0130031151489, + -0.0384818765676 + ], + [ + -0.00727981704941, + -0.00350194953788, + 0.00710775369246, + 0.00388080409545, + -0.00598077198222, + -0.00457382176063, + 0.00389150535996, + 0.00477615506084, + -0.00126261788306, + -0.00364584125301, + -0.000657601135565, + 0.00131229444573, + 0.000340654597693, + 0.000199901968661, + 0.00187643215964, + 0.00165966902633, + -0.00208949575668, + -0.00529139615707, + -0.00317531767214, + 0.00332181523811, + 0.00808060157855, + 0.00617809142414, + -0.00128448700694, + -0.00845521072383, + -0.00996888458908, + -0.00498070187498, + 0.00291616528491, + 0.00884615134926, + 0.00990557569429, + 0.00638049540954, + 0.000793193238, + -0.00398876615188, + -0.00624012705461, + -0.00583132791724, + -0.00379191677733, + -0.00151211397801, + -0.0000713536597415, + 0.0000719628157926, + -0.000954552534933, + -0.00266860556326, + -0.00449969265699, + -0.00598610082394, + -0.00686755918391, + -0.00708847189174, + -0.00674800473627, + -0.00603270177095, + -0.00515584648348, + -0.00431454372118, + -0.00366543519178, + -0.0033144582937, + -0.0033144582937, + -0.00366543519178, + -0.00431454372118, + -0.00515584648348, + -0.00603270177095, + -0.00674800473627, + -0.00708847189174, + -0.00686755918391, + -0.00598610082394, + -0.00449969265699, + -0.00266860556326, + -0.000954552534933, + 0.0000719628157926, + -0.0000713536597415, + -0.00151211397801, + -0.00379191677733, + -0.00583132791724, + -0.00624012705461, + -0.00398876615188, + 0.000793193238, + 0.00638049540954, + 0.00990557569429, + 0.00884615134926, + 0.00291616528491, + -0.00498070187498, + -0.00996888458908, + -0.00845521072383, + -0.00128448700694, + 0.00617809142414, + 0.00808060157855, + 0.00332181523811, + -0.00317531767214, + -0.00529139615707, + -0.00208949575668, + 0.00165966902633, + 0.00187643215964, + 0.000199901968661, + 0.000340654597693, + 0.00131229444573, + -0.000657601135566, + -0.00364584125301, + -0.00126261788306, + 0.00477615506084, + 0.00389150535996, + -0.00457382176063, + -0.00598077198222, + 0.00388080409545, + 0.00710775369246, + -0.00350194953788, + -0.00727981704941 + ], + [ + 0.00738228018851, + 0.0229650259225, + -0.00690231463702, + -0.0223590149625, + 0.00325569832647, + 0.0202951356434, + 0.00227781966773, + -0.0154175929631, + -0.00686447647751, + 0.0077515344475, + 0.00683089024959, + -0.000913765168067, + -0.00126724875729, + 0.00108246176466, + -0.00333392736168, + -0.00891804794063, + -0.00349480821802, + 0.0110458424477, + 0.0182531660336, + 0.00705403270563, + -0.014329759807, + -0.0263923200741, + -0.0175402621805, + 0.00588254902884, + 0.0263797968257, + 0.0299872607025, + 0.015610473062, + -0.00656665636217, + -0.0236504118695, + -0.0280703394715, + -0.0203331876898, + -0.00657739032156, + 0.00601805099806, + 0.0128575744392, + 0.0131503946566, + 0.00903800848203, + 0.00379859251638, + 0.000237204444528, + -0.000166492041906, + 0.00267184189962, + 0.00786640336794, + 0.0141367661921, + 0.0202869469395, + 0.0254817358533, + 0.0293246153683, + 0.0317982038186, + 0.033138659159, + 0.0336996870923, + 0.0338380321547, + 0.0338319787266, + 0.0338319787266, + 0.0338380321547, + 0.0336996870923, + 0.033138659159, + 0.0317982038186, + 0.0293246153683, + 0.0254817358533, + 0.0202869469395, + 0.0141367661921, + 0.00786640336794, + 0.00267184189962, + -0.000166492041906, + 0.000237204444528, + 0.00379859251638, + 0.00903800848203, + 0.0131503946566, + 0.0128575744392, + 0.00601805099806, + -0.00657739032156, + -0.0203331876898, + -0.0280703394715, + -0.0236504118695, + -0.00656665636217, + 0.015610473062, + 0.0299872607025, + 0.0263797968257, + 0.00588254902884, + -0.0175402621805, + -0.0263923200741, + -0.014329759807, + 0.00705403270563, + 0.0182531660336, + 0.0110458424477, + -0.00349480821802, + -0.00891804794063, + -0.00333392736168, + 0.00108246176466, + -0.00126724875729, + -0.000913765168067, + 0.00683089024959, + 0.0077515344475, + -0.00686447647751, + -0.0154175929631, + 0.00227781966773, + 0.0202951356434, + 0.00325569832647, + -0.0223590149625, + -0.00690231463702, + 0.0229650259225, + 0.00738228018851 + ], + [ + -0.028099209249, + 0.0484427504201, + 0.0283833235493, + -0.0438153467588, + -0.0319980914226, + 0.0323186195273, + 0.034815446981, + -0.0153401460941, + -0.0308060186595, + -0.0010817648552, + 0.0171093146003, + 0.00635840006029, + -0.00162942652182, + 0.00485454638778, + 0.00262130248931, + -0.0166683473112, + -0.0258160459813, + -0.00211572485626, + 0.0356623844379, + 0.0457163586652, + 0.0112050225241, + -0.0404197005925, + -0.0645956633798, + -0.0404797150217, + 0.0139140668318, + 0.0601593579178, + 0.069685545855, + 0.040784958751, + -0.00588663675799, + -0.0443369800473, + -0.0586343415328, + -0.0483097535012, + -0.0241277320369, + 0.000266962894413, + 0.0152544080395, + 0.0180050565605, + 0.0114327840722, + 0.00123631636542, + -0.00704258055584, + -0.00983402889781, + -0.00602667039153, + 0.00350077037496, + 0.0167595211578, + 0.0315021470485, + 0.0458097384456, + 0.0583634770012, + 0.0684612649993, + 0.0758807181933, + 0.0806832269126, + 0.0830267802332, + 0.0830267802332, + 0.0806832269126, + 0.0758807181933, + 0.0684612649993, + 0.0583634770012, + 0.0458097384456, + 0.0315021470485, + 0.0167595211578, + 0.00350077037496, + -0.00602667039153, + -0.00983402889781, + -0.00704258055584, + 0.00123631636542, + 0.0114327840722, + 0.0180050565605, + 0.0152544080395, + 0.000266962894413, + -0.0241277320369, + -0.0483097535012, + -0.0586343415328, + -0.0443369800473, + -0.00588663675799, + 0.040784958751, + 0.069685545855, + 0.0601593579178, + 0.0139140668318, + -0.0404797150217, + -0.0645956633798, + -0.0404197005925, + 0.0112050225241, + 0.0457163586652, + 0.0356623844379, + -0.00211572485626, + -0.0258160459813, + -0.0166683473112, + 0.00262130248931, + 0.00485454638778, + -0.00162942652182, + 0.00635840006029, + 0.0171093146003, + -0.0010817648552, + -0.0308060186595, + -0.0153401460941, + 0.034815446981, + 0.0323186195273, + -0.0319980914226, + -0.0438153467588, + 0.0283833235493, + 0.0484427504201, + -0.028099209249 + ], + [ + -0.0849929999554, + 0.0155555968308, + 0.0837800490824, + -0.0082715094177, + -0.0778191089142, + -0.00780757920172, + 0.0633196453548, + 0.0248588016288, + -0.0382671264732, + -0.0305665999204, + 0.0102191449887, + 0.0164082730997, + 0.00127696561832, + 0.00602484262594, + 0.0175371768017, + -0.00173412730568, + -0.0402614922924, + -0.0445184562369, + 0.00679454708867, + 0.0680970521411, + 0.0749462699787, + 0.012879693517, + -0.0687152359627, + -0.104095027371, + -0.0668576690547, + 0.0147277055674, + 0.0860622393734, + 0.10688698893, + 0.0730142296029, + 0.0103916719149, + -0.0465516231511, + -0.0747969598394, + -0.0705887578923, + -0.0453405371243, + -0.0158706508544, + 0.00439196369975, + 0.00969497742286, + 0.00166426636616, + -0.0136714797669, + -0.0293433387999, + -0.0399509525206, + -0.0427513817833, + -0.0375621416864, + -0.0260024084574, + -0.0105705677284, + 0.00612004483282, + 0.0218180829565, + 0.0348340525854, + 0.044044063307, + 0.0487951131757, + 0.0487951131757, + 0.044044063307, + 0.0348340525854, + 0.0218180829565, + 0.00612004483282, + -0.0105705677284, + -0.0260024084574, + -0.0375621416864, + -0.0427513817833, + -0.0399509525206, + -0.0293433387999, + -0.0136714797669, + 0.00166426636616, + 0.00969497742286, + 0.00439196369975, + -0.0158706508544, + -0.0453405371243, + -0.0705887578923, + -0.0747969598394, + -0.0465516231511, + 0.0103916719149, + 0.0730142296029, + 0.10688698893, + 0.0860622393734, + 0.0147277055674, + -0.0668576690547, + -0.104095027371, + -0.0687152359627, + 0.012879693517, + 0.0749462699787, + 0.0680970521411, + 0.00679454708867, + -0.0445184562369, + -0.0402614922924, + -0.00173412730568, + 0.0175371768017, + 0.00602484262594, + 0.00127696561832, + 0.0164082730997, + 0.0102191449887, + -0.0305665999204, + -0.0382671264732, + 0.0248588016288, + 0.0633196453548, + -0.00780757920172, + -0.0778191089142, + -0.0082715094177, + 0.0837800490824, + 0.0155555968308, + -0.0849929999554 + ], + [ + -0.0858426587933, + -0.0759390239869, + 0.0831592355773, + 0.0785373188554, + -0.0653221347183, + -0.0816422961608, + 0.0346054055993, + 0.0748434579469, + -0.000313893893263, + -0.0498912639514, + -0.0186359497443, + 0.0145929263826, + 0.00560951989149, + 0.0000543471813803, + 0.0243769436597, + 0.0320821705187, + -0.014348703982, + -0.0713570834532, + -0.0632291055696, + 0.0200515866466, + 0.103988477955, + 0.106440244909, + 0.0182430948369, + -0.092259840675, + -0.142490433289, + -0.100335055567, + 0.000913695977848, + 0.0963495616261, + 0.135858987078, + 0.109493966938, + 0.042653948446, + -0.0265429604944, + -0.0694129646065, + -0.0770776820129, + -0.0581702132807, + -0.0296073813042, + -0.00713673798446, + 0.000267323077825, + -0.00858216220128, + -0.0292252136149, + -0.0548117711459, + -0.0789111052155, + -0.0971525216704, + -0.107683183292, + -0.110806517225, + -0.108243023579, + -0.102357361266, + -0.0955416211674, + -0.0898108284151, + -0.0865830784284, + -0.0865830784284, + -0.0898108284151, + -0.0955416211674, + -0.102357361266, + -0.108243023579, + -0.110806517225, + -0.107683183292, + -0.0971525216704, + -0.0789111052155, + -0.0548117711459, + -0.0292252136149, + -0.00858216220128, + 0.000267323077825, + -0.00713673798446, + -0.0296073813042, + -0.0581702132807, + -0.0770776820129, + -0.0694129646065, + -0.0265429604944, + 0.042653948446, + 0.109493966938, + 0.135858987078, + 0.0963495616261, + 0.000913695977848, + -0.100335055567, + -0.142490433289, + -0.092259840675, + 0.0182430948369, + 0.106440244909, + 0.103988477955, + 0.0200515866466, + -0.0632291055696, + -0.0713570834532, + -0.014348703982, + 0.0320821705187, + 0.0243769436597, + 0.0000543471813802, + 0.00560951989149, + 0.0145929263826, + -0.0186359497443, + -0.0498912639514, + -0.000313893893263, + 0.0748434579469, + 0.0346054055993, + -0.0816422961608, + -0.0653221347183, + 0.0785373188554, + 0.0831592355773, + -0.0759390239869, + -0.0858426587933 + ], + [ + 0.0131437939141, + -0.141222768974, + -0.0151127668695, + 0.132838900449, + 0.0320293112605, + -0.11044166897, + -0.0540714119327, + 0.0714640554742, + 0.0637926946562, + -0.0241361710235, + -0.045319547885, + -0.00545826297832, + 0.00633588483763, + -0.0100089228578, + 0.00745655710323, + 0.051331658873, + 0.0456472396521, + -0.0332823791706, + -0.106688101733, + -0.0833436833448, + 0.0317983036987, + 0.138866841361, + 0.141760862173, + 0.0341543227121, + -0.103314287292, + -0.175248937815, + -0.141192454783, + -0.0321836964658, + 0.0832177716596, + 0.147074188445, + 0.140687838588, + 0.0833987063615, + 0.0121612039743, + -0.0408597502972, + -0.0609491116916, + -0.0514366041922, + -0.026516981738, + -0.00231990840217, + 0.00950557331881, + 0.00425189377418, + -0.0166346307614, + -0.0479959859386, + -0.0835870053365, + -0.118002029617, + -0.147636101719, + -0.170820278949, + -0.187438186835, + -0.19832641362, + -0.204674875608, + -0.207544375917, + -0.207544375917, + -0.204674875608, + -0.19832641362, + -0.187438186835, + -0.170820278949, + -0.147636101719, + -0.118002029617, + -0.0835870053365, + -0.0479959859386, + -0.0166346307614, + 0.00425189377418, + 0.00950557331881, + -0.00231990840217, + -0.026516981738, + -0.0514366041922, + -0.0609491116916, + -0.0408597502972, + 0.0121612039743, + 0.0833987063615, + 0.140687838588, + 0.147074188445, + 0.0832177716596, + -0.0321836964658, + -0.141192454783, + -0.175248937815, + -0.103314287292, + 0.0341543227121, + 0.141760862173, + 0.138866841361, + 0.0317983036987, + -0.0833436833448, + -0.106688101733, + -0.0332823791706, + 0.0456472396521, + 0.051331658873, + 0.00745655710323, + -0.0100089228578, + 0.00633588483763, + -0.00545826297832, + -0.045319547885, + -0.0241361710235, + 0.0637926946562, + 0.0714640554742, + -0.0540714119327, + -0.11044166897, + 0.0320293112605, + 0.132838900449, + -0.0151127668695, + -0.141222768974, + 0.0131437939141 + ], + [ + 0.144805005289, + -0.0823503234318, + -0.14346592155, + 0.0669927404302, + 0.140350851031, + -0.0316282049982, + -0.125329990134, + -0.0119184511941, + 0.0881561088642, + 0.0402069639631, + -0.0348739582022, + -0.0289383722693, + 0.000463666917007, + -0.013820755539, + -0.0255193910483, + 0.0234042775087, + 0.0836259447466, + 0.0588137455554, + -0.0537452508075, + -0.143493686868, + -0.10830923649, + 0.0347980480283, + 0.167389202061, + 0.181091213649, + 0.0660924340626, + -0.093622444767, + -0.194168933456, + -0.183702350393, + -0.0833252746706, + 0.042073271654, + 0.130075049281, + 0.151928967958, + 0.116672651238, + 0.0554461644604, + 0.000821851378641, + -0.0273522099695, + -0.025771379538, + -0.00353236688504, + 0.0251858090386, + 0.0475694196173, + 0.0557749132736, + 0.047624090006, + 0.025370425009, + -0.00627709925829, + -0.0419840027274, + -0.0770316464593, + -0.10789777254, + -0.132318604112, + -0.149047992956, + -0.157513182846, + -0.157513182846, + -0.149047992956, + -0.132318604112, + -0.10789777254, + -0.0770316464593, + -0.0419840027274, + -0.00627709925829, + 0.025370425009, + 0.047624090006, + 0.0557749132736, + 0.0475694196173, + 0.0251858090386, + -0.00353236688504, + -0.025771379538, + -0.0273522099695, + 0.000821851378641, + 0.0554461644604, + 0.116672651238, + 0.151928967958, + 0.130075049281, + 0.042073271654, + -0.0833252746706, + -0.183702350393, + -0.194168933456, + -0.093622444767, + 0.0660924340626, + 0.181091213649, + 0.167389202061, + 0.0347980480283, + -0.10830923649, + -0.143493686868, + -0.0537452508075, + 0.0588137455554, + 0.0836259447466, + 0.0234042775087, + -0.0255193910483, + -0.013820755539, + 0.000463666917007, + -0.0289383722693, + -0.0348739582022, + 0.0402069639631, + 0.0881561088642, + -0.0119184511941, + -0.125329990134, + -0.0316282049982, + 0.140350851031, + 0.0669927404302, + -0.14346592155, + -0.0823503234318, + 0.144805005289 + ], + [ + 0.165520409298, + 0.0863476864373, + -0.161121673389, + -0.0943730852048, + 0.134330176572, + 0.108808844795, + -0.0856192000756, + -0.11126889029, + 0.0255587564676, + 0.0832576356039, + 0.0168757495146, + -0.0292072647216, + -0.00792298159024, + -0.00400905555143, + -0.0421983596714, + -0.0392900878282, + 0.0442917775343, + 0.118686879468, + 0.0750026276309, + -0.0693272637352, + -0.178843334165, + -0.141542591833, + 0.0215438643226, + 0.182221698722, + 0.220605556628, + 0.115439822599, + -0.0562472068828, + -0.187867869922, + -0.214882931758, + -0.142052205379, + -0.0231271392697, + 0.0800854274238, + 0.130017417488, + 0.123266759171, + 0.0813175761141, + 0.0334933473026, + 0.00265715559637, + -0.00136482166701, + 0.0189660668921, + 0.0537704762751, + 0.0913214087295, + 0.122128913441, + 0.140836368246, + 0.14626537939, + 0.140377374371, + 0.126892659046, + 0.110060716818, + 0.0937991722608, + 0.0812133098772, + 0.0743985392091, + 0.0743985392091, + 0.0812133098772, + 0.0937991722608, + 0.110060716818, + 0.126892659046, + 0.140377374371, + 0.14626537939, + 0.140836368246, + 0.122128913441, + 0.0913214087295, + 0.0537704762751, + 0.0189660668921, + -0.00136482166701, + 0.00265715559637, + 0.0334933473026, + 0.0813175761141, + 0.123266759171, + 0.130017417488, + 0.0800854274238, + -0.0231271392697, + -0.142052205379, + -0.214882931758, + -0.187867869922, + -0.0562472068828, + 0.115439822599, + 0.220605556628, + 0.182221698722, + 0.0215438643226, + -0.141542591833, + -0.178843334165, + -0.0693272637352, + 0.0750026276309, + 0.118686879468, + 0.0442917775343, + -0.0392900878282, + -0.0421983596714, + -0.00400905555143, + -0.00792298159024, + -0.0292072647216, + 0.0168757495146, + 0.0832576356039, + 0.0255587564676, + -0.11126889029, + -0.0856192000756, + 0.108808844795, + 0.134330176572, + -0.0943730852048, + -0.161121673389, + 0.0863476864373, + 0.165520409298 + ], + [ + 0.0106711046146, + 0.204871561077, + -0.00727693514148, + -0.194772078744, + -0.0200318009085, + 0.16695595189, + 0.0579140607036, + -0.114903248252, + -0.0811352373904, + 0.0465758218086, + 0.0635474922297, + 0.00230532189528, + -0.00982199695791, + 0.0126795773725, + -0.0171588291395, + -0.0751317714079, + -0.0532207550055, + 0.0645376174387, + 0.154577876358, + 0.0988069352954, + -0.0726634073298, + -0.20804238387, + -0.18384330275, + -0.0140797040749, + 0.173868822321, + 0.250543634309, + 0.176194550644, + 0.0103353408445, + -0.145690620174, + -0.216775292371, + -0.187918733935, + -0.0953046378149, + 0.00620239209805, + 0.0740831436717, + 0.0929841680615, + 0.0724083051687, + 0.0347992485685, + 0.00276952582211, + -0.0090675098136, + 0.00360861480581, + 0.0368563734037, + 0.0823621865657, + 0.131160592364, + 0.176115139625, + 0.212960272069, + 0.240222207069, + 0.258504749314, + 0.269567691626, + 0.275475887118, + 0.277950040409, + 0.277950040409, + 0.275475887118, + 0.269567691626, + 0.258504749314, + 0.240222207069, + 0.212960272069, + 0.176115139625, + 0.131160592364, + 0.0823621865657, + 0.0368563734037, + 0.00360861480581, + -0.0090675098136, + 0.00276952582212, + 0.0347992485685, + 0.0724083051687, + 0.0929841680615, + 0.0740831436717, + 0.00620239209805, + -0.0953046378149, + -0.187918733935, + -0.216775292371, + -0.145690620174, + 0.0103353408445, + 0.176194550644, + 0.250543634309, + 0.173868822321, + -0.0140797040749, + -0.18384330275, + -0.20804238387, + -0.0726634073298, + 0.0988069352954, + 0.154577876358, + 0.0645376174387, + -0.0532207550055, + -0.0751317714079, + -0.0171588291395, + 0.0126795773725, + -0.00982199695791, + 0.00230532189528, + 0.0635474922297, + 0.0465758218086, + -0.0811352373904, + -0.114903248252, + 0.0579140607036, + 0.16695595189, + -0.0200318009085, + -0.194772078744, + -0.00727693514148, + 0.204871561077, + 0.0106711046146 + ], + [ + -0.186592161012, + 0.118181254995, + 0.184874420413, + -0.0976637484, + -0.182225224618, + 0.0503662516383, + 0.164830469573, + 0.00875569925012, + -0.118111827693, + -0.0490396071216, + 0.0484641806866, + 0.0372960749453, + -0.00115794924253, + 0.0184474577687, + 0.0317100809421, + -0.0342593882476, + -0.109986394679, + -0.0714437621227, + 0.0774374457489, + 0.188596188844, + 0.133782466841, + -0.0561578782644, + -0.223193154365, + -0.230625512744, + -0.0738464293345, + 0.132812170209, + 0.255518978683, + 0.232510152755, + 0.0967468100314, + -0.065317194947, + -0.174221193093, + -0.196139185513, + -0.145889347608, + -0.0651829690563, + 0.00425820094111, + 0.0382472143771, + 0.0340904936372, + 0.00455276759569, + -0.0318120513076, + -0.0588307290326, + -0.0670429398572, + -0.0542928170038, + -0.0239444766516, + 0.0177315194522, + 0.0638879687555, + 0.108624724429, + 0.147653485078, + 0.17831051172, + 0.199202528876, + 0.209740206364, + 0.209740206364, + 0.199202528876, + 0.17831051172, + 0.147653485078, + 0.108624724429, + 0.0638879687555, + 0.0177315194522, + -0.0239444766516, + -0.0542928170038, + -0.0670429398572, + -0.0588307290326, + -0.0318120513076, + 0.00455276759569, + 0.0340904936372, + 0.0382472143771, + 0.00425820094111, + -0.0651829690563, + -0.145889347608, + -0.196139185513, + -0.174221193093, + -0.065317194947, + 0.0967468100314, + 0.232510152755, + 0.255518978683, + 0.132812170209, + -0.0738464293345, + -0.230625512744, + -0.223193154365, + -0.0561578782644, + 0.133782466841, + 0.188596188844, + 0.0774374457489, + -0.0714437621227, + -0.109986394679, + -0.0342593882476, + 0.0317100809421, + 0.0184474577687, + -0.00115794924253, + 0.0372960749453, + 0.0484641806866, + -0.0490396071216, + -0.118111827693, + 0.00875569925012, + 0.164830469573, + 0.0503662516383, + -0.182225224618, + -0.0976637484, + 0.184874420413, + 0.118181254995, + -0.186592161012 + ], + [ + -0.198686721862, + -0.116286870828, + 0.19302169541, + 0.125117720237, + -0.159096678741, + -0.14044094009, + 0.0984193975723, + 0.139902417079, + -0.0252891420517, + -0.102048028759, + -0.0241021101284, + 0.0345665350641, + 0.0100316744351, + 0.00395431083593, + 0.0511197674244, + 0.0512985460285, + -0.0490587989453, + -0.144425613444, + -0.0983667260784, + 0.0755830515628, + 0.215430548307, + 0.179803882712, + -0.0137660482277, + -0.213229590138, + -0.269844308947, + -0.151061981369, + 0.0547899025412, + 0.219017582945, + 0.260057680838, + 0.179234734835, + 0.0386922293189, + -0.0871850386311, + -0.151397420357, + -0.147597383551, + -0.099988038762, + -0.0432542395061, + -0.00523569682854, + 0.00140239680036, + -0.0212911520492, + -0.0621102167674, + -0.107273333444, + -0.145363339415, + -0.169712050583, + -0.178574374314, + -0.173977055665, + -0.160117693526, + -0.141909250596, + -0.123941427018, + -0.10988521774, + -0.102233732408, + -0.102233732408, + -0.10988521774, + -0.123941427018, + -0.141909250596, + -0.160117693526, + -0.173977055665, + -0.178574374314, + -0.169712050583, + -0.145363339415, + -0.107273333444, + -0.0621102167674, + -0.0212911520492, + 0.00140239680036, + -0.00523569682854, + -0.0432542395061, + -0.099988038762, + -0.147597383551, + -0.151397420357, + -0.0871850386311, + 0.0386922293189, + 0.179234734835, + 0.260057680838, + 0.219017582945, + 0.0547899025412, + -0.151061981369, + -0.269844308947, + -0.213229590138, + -0.0137660482277, + 0.179803882712, + 0.215430548307, + 0.0755830515628, + -0.0983667260784, + -0.144425613444, + -0.0490587989453, + 0.0512985460285, + 0.0511197674243, + 0.00395431083593, + 0.0100316744351, + 0.0345665350641, + -0.0241021101284, + -0.102048028759, + -0.0252891420517, + 0.139902417079, + 0.0984193975723, + -0.14044094009, + -0.159096678741, + 0.125117720237, + 0.19302169541, + -0.116286870828, + -0.198686721862 + ], + [ + 0.0222017499811, + -0.237052861202, + -0.0254582785081, + 0.222518133766, + 0.0537004598141, + -0.184569900955, + -0.0903509830606, + 0.119113914862, + 0.106274420731, + -0.0400922655326, + -0.0752674777609, + -0.00907286597133, + 0.0104873469527, + -0.0165515906935, + 0.0122798084027, + 0.084556236525, + 0.0751089056246, + -0.0545588261503, + -0.174750152153, + -0.136318960443, + 0.0517627225872, + 0.225980701332, + 0.230273926299, + 0.0554662553399, + -0.166861586892, + -0.28250317356, + -0.227115402555, + -0.0517477280447, + 0.13298220317, + 0.234533480601, + 0.223795610731, + 0.132350248236, + 0.019321650548, + -0.0643669160569, + -0.0958068381898, + -0.0806482174189, + -0.0414701149404, + -0.00361928931881, + 0.0147992249304, + 0.00663230534082, + -0.025690752158, + -0.0740502746743, + -0.128741249087, + -0.18144188859, + -0.226661454811, + -0.261909805006, + -0.28707840388, + -0.303503933815, + -0.31304470207, + -0.31734452268, + -0.31734452268, + -0.31304470207, + -0.303503933815, + -0.28707840388, + -0.261909805006, + -0.226661454811, + -0.18144188859, + -0.128741249087, + -0.0740502746743, + -0.025690752158, + 0.00663230534082, + 0.0147992249304, + -0.00361928931881, + -0.0414701149404, + -0.0806482174189, + -0.0958068381898, + -0.0643669160569, + 0.019321650548, + 0.132350248236, + 0.223795610731, + 0.234533480601, + 0.13298220317, + -0.0517477280447, + -0.227115402555, + -0.28250317356, + -0.166861586892, + 0.0554662553399, + 0.230273926299, + 0.225980701332, + 0.0517627225872, + -0.136318960443, + -0.174750152153, + -0.0545588261503, + 0.0751089056246, + 0.084556236525, + 0.0122798084027, + -0.0165515906935, + 0.0104873469527, + -0.00907286597133, + -0.0752674777609, + -0.0400922655326, + 0.106274420731, + 0.119113914862, + -0.0903509830606, + -0.184569900955, + 0.0537004598141, + 0.222518133766, + -0.0254582785082, + -0.237052861202, + 0.0222017499811 + ], + [ + 0.229520162352, + -0.0771429282543, + -0.226131401144, + 0.0555141755942, + 0.213918729608, + -0.00724851485503, + -0.180515076154, + -0.0474183278032, + 0.116501071014, + 0.0740386874673, + -0.0380683770796, + -0.0441707994327, + -0.00174248153028, + -0.0181359036904, + -0.0435633875443, + 0.0172150974749, + 0.115003885597, + 0.106111890448, + -0.0436964316364, + -0.194312012371, + -0.182872335161, + 0.00132602291532, + 0.208215328523, + 0.270359894098, + 0.142591850999, + -0.0792117193511, + -0.248208801621, + -0.2725952572, + -0.160192276919, + 0.00964191258737, + 0.147402084704, + 0.201953770457, + 0.173995732479, + 0.0997663078581, + 0.0237808890111, + -0.0225699227679, + -0.0292832005663, + -0.0044859341099, + 0.0344801070165, + 0.0699664864563, + 0.0897085893952, + 0.0886807613687, + 0.0681164678748, + 0.0331904138912, + -0.00939358961031, + -0.0532045291403, + -0.0930713191475, + -0.125370923929, + -0.147868376591, + -0.159366457086, + -0.159366457086, + -0.147868376591, + -0.125370923929, + -0.0930713191475, + -0.0532045291403, + -0.00939358961031, + 0.0331904138912, + 0.0681164678748, + 0.0886807613687, + 0.0897085893952, + 0.0699664864563, + 0.0344801070165, + -0.0044859341099, + -0.0292832005663, + -0.0225699227679, + 0.0237808890111, + 0.0997663078581, + 0.173995732479, + 0.201953770457, + 0.147402084704, + 0.00964191258737, + -0.160192276919, + -0.2725952572, + -0.248208801621, + -0.0792117193511, + 0.142591850999, + 0.270359894098, + 0.208215328523, + 0.00132602291532, + -0.182872335161, + -0.194312012371, + -0.0436964316364, + 0.106111890448, + 0.115003885597, + 0.0172150974749, + -0.0435633875443, + -0.0181359036904, + -0.00174248153028, + -0.0441707994327, + -0.0380683770796, + 0.0740386874673, + 0.116501071014, + -0.0474183278032, + -0.180515076154, + -0.00724851485503, + 0.213918729608, + 0.0555141755942, + -0.226131401144, + -0.0771429282543, + 0.229520162352 + ], + [ + 0.154484272701, + 0.183300900387, + -0.148493098025, + -0.184977836459, + 0.110122273275, + 0.183250166383, + -0.0468486811057, + -0.158355129973, + -0.0187713626929, + 0.0980410051566, + 0.0475143525222, + -0.0247805455767, + -0.0120421086119, + 0.00290804560144, + -0.0460660071506, + -0.0728861716626, + 0.012047544557, + 0.137180410463, + 0.144120438414, + -0.0108794515654, + -0.193197264301, + -0.22841926283, + -0.0736510977993, + 0.151447260648, + 0.278597390871, + 0.225278451803, + 0.0393532181058, + -0.15680400948, + -0.257255387121, + -0.229468312324, + -0.112883862925, + 0.021255915686, + 0.113794291509, + 0.141211986115, + 0.114624190436, + 0.0638419132449, + 0.0192816823084, + 0.000205039056934, + 0.0115030050754, + 0.046818910492, + 0.0943042078555, + 0.141956807477, + 0.18099012794, + 0.207030387537, + 0.219714790521, + 0.221476937102, + 0.216168468776, + 0.20790029514, + 0.200241218752, + 0.195750593505, + 0.195750593505, + 0.200241218752, + 0.20790029514, + 0.216168468776, + 0.221476937102, + 0.219714790521, + 0.207030387537, + 0.18099012794, + 0.141956807477, + 0.0943042078555, + 0.046818910492, + 0.0115030050754, + 0.000205039056934, + 0.0192816823084, + 0.0638419132449, + 0.114624190436, + 0.141211986115, + 0.113794291509, + 0.021255915686, + -0.112883862925, + -0.229468312324, + -0.257255387121, + -0.15680400948, + 0.0393532181058, + 0.225278451803, + 0.278597390871, + 0.151447260648, + -0.0736510977993, + -0.22841926283, + -0.193197264301, + -0.0108794515654, + 0.144120438414, + 0.137180410463, + 0.012047544557, + -0.0728861716626, + -0.0460660071506, + 0.00290804560144, + -0.0120421086119, + -0.0247805455767, + 0.0475143525222, + 0.0980410051566, + -0.0187713626929, + -0.158355129973, + -0.0468486811057, + 0.183250166383, + 0.110122273275, + -0.184977836459, + -0.148493098025, + 0.183300900387, + 0.154484272701 + ], + [ + -0.119255112047, + 0.204743768666, + 0.119988551508, + -0.184418494003, + -0.134641229637, + 0.135380868315, + 0.145747092763, + -0.063876038415, + -0.128252305155, + -0.00459293730167, + 0.0708005740898, + 0.0262781867055, + -0.00669462421658, + 0.0199151521615, + 0.0107665055955, + -0.0678489137351, + -0.104830459044, + -0.0086983968601, + 0.143530155429, + 0.183438433477, + 0.0449638503964, + -0.160533163938, + -0.255669096429, + -0.159657686299, + 0.0542706608997, + 0.234450967434, + 0.270380923032, + 0.157579618335, + -0.0223327339412, + -0.168994810244, + -0.222403423937, + -0.182292974159, + -0.090614961268, + 0.000851264826913, + 0.0564258982702, + 0.0662815764288, + 0.0418645781765, + 0.00450330962945, + -0.0255239099888, + -0.0354826513788, + -0.0217021117295, + 0.0123463017782, + 0.0593521011287, + 0.111252647907, + 0.161295022931, + 0.204937988695, + 0.239848977345, + 0.265376285568, + 0.281836111503, + 0.289848007878, + 0.289848007878, + 0.281836111503, + 0.265376285568, + 0.239848977345, + 0.204937988695, + 0.161295022931, + 0.111252647907, + 0.0593521011287, + 0.0123463017782, + -0.0217021117295, + -0.0354826513788, + -0.0255239099888, + 0.00450330962945, + 0.0418645781765, + 0.0662815764288, + 0.0564258982702, + 0.000851264826912, + -0.090614961268, + -0.182292974159, + -0.222403423937, + -0.168994810244, + -0.0223327339412, + 0.157579618335, + 0.270380923032, + 0.234450967434, + 0.0542706608997, + -0.159657686299, + -0.255669096429, + -0.160533163938, + 0.0449638503964, + 0.183438433477, + 0.143530155429, + -0.0086983968601, + -0.104830459044, + -0.0678489137351, + 0.0107665055955, + 0.0199151521615, + -0.00669462421658, + 0.0262781867055, + 0.0708005740898, + -0.00459293730167, + -0.128252305155, + -0.063876038415, + 0.145747092763, + 0.135380868315, + -0.134641229637, + -0.184418494003, + 0.119988551508, + 0.204743768666, + -0.119255112047 + ], + [ + -0.223005029797, + -0.0466540142473, + 0.217622931618, + 0.0609766815485, + -0.190022877202, + -0.0900851806467, + 0.136424253695, + 0.111156077619, + -0.0626835109121, + -0.0964964987032, + -0.00086414680681, + 0.0401489749899, + 0.00727910256712, + 0.00973308273203, + 0.0506495184876, + 0.0268274750857, + -0.077247230302, + -0.135970202016, + -0.0470276223213, + 0.125358896183, + 0.211705572502, + 0.116254985745, + -0.0902958113399, + -0.243619628603, + -0.230062323653, + -0.0666225077293, + 0.131951487361, + 0.246931813455, + 0.229265238393, + 0.111164099244, + -0.032416071053, + -0.13397200525, + -0.163937099624, + -0.132579120594, + -0.0727558176332, + -0.0187385658434, + 0.00797934443791, + 0.00261652491448, + -0.0267322312434, + -0.0661149811609, + -0.102094986988, + -0.125567204377, + -0.13285351843, + -0.124891354226, + -0.105562983219, + -0.0799895299435, + -0.0532392691772, + -0.0295713663874, + -0.0121311280851, + -0.00292822159173, + -0.00292822159173, + -0.0121311280851, + -0.0295713663874, + -0.0532392691772, + -0.0799895299435, + -0.105562983219, + -0.124891354226, + -0.13285351843, + -0.125567204377, + -0.102094986988, + -0.0661149811609, + -0.0267322312434, + 0.00261652491448, + 0.00797934443791, + -0.0187385658434, + -0.0727558176332, + -0.132579120594, + -0.163937099624, + -0.13397200525, + -0.032416071053, + 0.111164099244, + 0.229265238393, + 0.246931813455, + 0.131951487361, + -0.0666225077293, + -0.230062323653, + -0.243619628603, + -0.0902958113399, + 0.116254985745, + 0.211705572502, + 0.125358896183, + -0.0470276223213, + -0.135970202016, + -0.077247230302, + 0.0268274750857, + 0.0506495184876, + 0.00973308273203, + 0.00727910256712, + 0.0401489749899, + -0.000864146806811, + -0.0964964987032, + -0.0626835109121, + 0.111156077619, + 0.136424253695, + -0.0900851806467, + -0.190022877202, + 0.0609766815485, + 0.217622931618, + -0.0466540142473, + -0.223005029797 + ], + [ + -0.0145592148561, + -0.215280011178, + 0.0108991355521, + 0.204400612524, + 0.0180299478421, + -0.175301909469, + -0.0581904268036, + 0.121034364561, + 0.083201992563, + -0.0496823811541, + -0.0657016359855, + -0.00177334333886, + 0.0102264619472, + -0.0128887082088, + 0.0183693244176, + 0.0773381860847, + 0.0532198507055, + -0.0678532229191, + -0.157971467522, + -0.0984056026773, + 0.0767679111476, + 0.211908897163, + 0.183892833406, + 0.0104876252541, + -0.177754458922, + -0.251490048263, + -0.173694804339, + -0.00656718911082, + 0.147901120524, + 0.216004601764, + 0.184790645813, + 0.0916878214027, + -0.00853984182372, + -0.0744120525238, + -0.0917396651213, + -0.0706780084067, + -0.0336230460718, + -0.00263930901053, + 0.00834738962765, + -0.00446330105363, + -0.0369231379545, + -0.0808121990523, + -0.127450437481, + -0.170047356526, + -0.204640928761, + -0.229964218051, + -0.24672249799, + -0.256693501802, + -0.261911882018, + -0.264055433043, + -0.264055433043, + -0.261911882018, + -0.256693501802, + -0.24672249799, + -0.229964218051, + -0.204640928761, + -0.170047356526, + -0.127450437481, + -0.0808121990523, + -0.0369231379545, + -0.00446330105363, + 0.00834738962765, + -0.00263930901053, + -0.0336230460718, + -0.0706780084067, + -0.0917396651213, + -0.0744120525238, + -0.00853984182372, + 0.0916878214027, + 0.184790645813, + 0.216004601764, + 0.147901120524, + -0.00656718911082, + -0.173694804339, + -0.251490048263, + -0.177754458922, + 0.0104876252541, + 0.183892833406, + 0.211908897163, + 0.0767679111476, + -0.0984056026773, + -0.157971467522, + -0.0678532229191, + 0.0532198507055, + 0.0773381860847, + 0.0183693244176, + -0.0128887082088, + 0.0102264619472, + -0.00177334333886, + -0.0657016359855, + -0.0496823811541, + 0.083201992563, + 0.121034364561, + -0.0581904268036, + -0.175301909469, + 0.0180299478421, + 0.204400612524, + 0.0108991355521, + -0.215280011178, + -0.0145592148561 + ], + [ + 0.1911989951, + -0.0641127489257, + -0.188099468007, + 0.0460440211374, + 0.177648497018, + -0.00593194815502, + -0.149636063692, + -0.0393365216261, + 0.0963767027713, + 0.061239610825, + -0.0314135223921, + -0.036447369173, + -0.0014411598273, + -0.0149272323704, + -0.0358393420063, + 0.0141065935314, + 0.0943449708575, + 0.0869997812013, + -0.0356938171195, + -0.158807003923, + -0.149341665925, + 0.000981310049461, + 0.169450251805, + 0.219825749208, + 0.115861444431, + -0.0641052621724, + -0.200869403331, + -0.220367363782, + -0.129380214552, + 0.00767002771803, + 0.118546665217, + 0.162255304027, + 0.139629473661, + 0.0799782340625, + 0.0190718068604, + -0.0180015293646, + -0.0233517995375, + -0.00357384026303, + 0.0274411267246, + 0.0556279421721, + 0.0712606389449, + 0.0703935310597, + 0.0540506035967, + 0.0263655499097, + -0.00733812298568, + -0.041972383534, + -0.0734591955502, + -0.0989507676246, + -0.116696819497, + -0.125763595254, + -0.125763595254, + -0.116696819497, + -0.0989507676246, + -0.0734591955502, + -0.041972383534, + -0.00733812298568, + 0.0263655499097, + 0.0540506035967, + 0.0703935310597, + 0.0712606389449, + 0.0556279421721, + 0.0274411267246, + -0.00357384026303, + -0.0233517995375, + -0.0180015293646, + 0.0190718068604, + 0.0799782340625, + 0.139629473661, + 0.162255304027, + 0.118546665217, + 0.00767002771803, + -0.129380214552, + -0.220367363782, + -0.200869403331, + -0.0641052621724, + 0.115861444431, + 0.219825749208, + 0.169450251805, + 0.000981310049461, + -0.149341665925, + -0.158807003923, + -0.0356938171195, + 0.0869997812013, + 0.0943449708575, + 0.0141065935314, + -0.0358393420063, + -0.0149272323704, + -0.0014411598273, + -0.036447369173, + -0.0314135223921, + 0.061239610825, + 0.0963767027713, + -0.0393365216261, + -0.149636063692, + -0.00593194815502, + 0.177648497018, + 0.0460440211374, + -0.188099468007, + -0.0641127489257, + 0.1911989951 + ], + [ + 0.0931677098643, + 0.156263045743, + -0.088713543881, + -0.154534856811, + 0.0596569863707, + 0.146613681345, + -0.0136699847255, + -0.119487731767, + -0.0300424976406, + 0.0680373626904, + 0.0425438332602, + -0.0138636970908, + -0.00928514232238, + 0.00464018922833, + -0.0306784816264, + -0.0596009738617, + -0.00534141450789, + 0.0940981395156, + 0.118677151129, + 0.0163974812743, + -0.127772615139, + -0.178697018243, + -0.0840691462324, + 0.0836012103319, + 0.198741322064, + 0.185199685103, + 0.0620270048189, + -0.0870606864801, + -0.178926717089, + -0.178626818793, + -0.105716918112, + -0.00900134370754, + 0.0657781487792, + 0.0960794698846, + 0.0850452031845, + 0.05178000933, + 0.0184204677309, + 0.000715398343769, + 0.00450336713872, + 0.02705196913, + 0.0607900791825, + 0.0971684090728, + 0.129345825231, + 0.153374085266, + 0.1681747049, + 0.174826233493, + 0.175632553326, + 0.173277077345, + 0.170196420382, + 0.168185474717, + 0.168185474717, + 0.170196420382, + 0.173277077345, + 0.175632553326, + 0.174826233493, + 0.1681747049, + 0.153374085266, + 0.129345825231, + 0.0971684090728, + 0.0607900791825, + 0.02705196913, + 0.00450336713872, + 0.00071539834377, + 0.0184204677309, + 0.05178000933, + 0.0850452031845, + 0.0960794698846, + 0.0657781487792, + -0.00900134370754, + -0.105716918112, + -0.178626818793, + -0.178926717089, + -0.0870606864801, + 0.0620270048189, + 0.185199685103, + 0.198741322064, + 0.0836012103319, + -0.0840691462324, + -0.178697018243, + -0.127772615139, + 0.0163974812743, + 0.118677151129, + 0.0940981395156, + -0.00534141450789, + -0.0596009738617, + -0.0306784816264, + 0.00464018922833, + -0.00928514232238, + -0.0138636970908, + 0.0425438332602, + 0.0680373626904, + -0.0300424976406, + -0.119487731767, + -0.0136699847255, + 0.146613681345, + 0.0596569863707, + -0.154534856811, + -0.088713543881, + 0.156263045743, + 0.0931677098643 + ], + [ + -0.121776367438, + 0.107389992978, + 0.120773294629, + -0.0921099056337, + -0.122550642145, + 0.0568192602361, + 0.116134638414, + -0.0105892580812, + -0.0885266153997, + -0.025338903802, + 0.0404475755559, + 0.0245040850856, + -0.00212790042206, + 0.0136836021822, + 0.0180260988626, + -0.0324792763436, + -0.077893361401, + -0.0367392470445, + 0.0707395064511, + 0.133570278182, + 0.0748885358023, + -0.0640036746269, + -0.165879388514, + -0.146978072714, + -0.0227451309235, + 0.116889893417, + 0.183005587452, + 0.145884593179, + 0.0404632696512, + -0.0692172460255, + -0.132210618675, + -0.132992165067, + -0.088450509583, + -0.0300334865451, + 0.014759066592, + 0.0326371479424, + 0.0251370025436, + 0.00310415202557, + -0.020302945714, + -0.0348267136183, + -0.0353885197884, + -0.0218679681231, + 0.00249760673704, + 0.0330171077458, + 0.0650681603531, + 0.0949802419464, + 0.120321376296, + 0.139773738197, + 0.152806030723, + 0.159309925957, + 0.159309925957, + 0.152806030723, + 0.139773738197, + 0.120321376296, + 0.0949802419464, + 0.0650681603531, + 0.0330171077458, + 0.00249760673704, + -0.0218679681231, + -0.0353885197884, + -0.0348267136183, + -0.020302945714, + 0.00310415202557, + 0.0251370025436, + 0.0326371479424, + 0.014759066592, + -0.0300334865451, + -0.088450509583, + -0.132992165067, + -0.132210618675, + -0.0692172460255, + 0.0404632696512, + 0.145884593179, + 0.183005587452, + 0.116889893417, + -0.0227451309235, + -0.146978072714, + -0.165879388514, + -0.0640036746269, + 0.0748885358023, + 0.133570278182, + 0.0707395064511, + -0.0367392470445, + -0.077893361401, + -0.0324792763436, + 0.0180260988626, + 0.0136836021822, + -0.00212790042206, + 0.0245040850856, + 0.0404475755559, + -0.025338903802, + -0.0885266153997, + -0.0105892580812, + 0.116134638414, + 0.0568192602361, + -0.122550642145, + -0.0921099056337, + 0.120773294629, + 0.107389992978, + -0.121776367438 + ], + [ + -0.106050239301, + -0.0879015604124, + 0.102325990628, + 0.0909389740964, + -0.0807019172559, + -0.0950366175843, + 0.0438754268251, + 0.0876996341545, + -0.00270994646265, + -0.0589452353564, + -0.0206243391329, + 0.0175760656371, + 0.00642723365617, + 0.000424289000745, + 0.0284351500794, + 0.0357886362113, + -0.0183792743299, + -0.0817850492759, + -0.0694193972043, + 0.0260288601063, + 0.118115357712, + 0.116600914008, + 0.0157941453259, + -0.105355971013, + -0.156490089905, + -0.106087531791, + 0.00581334290736, + 0.107499723508, + 0.14638075659, + 0.114605197308, + 0.0416048753315, + -0.031393024241, + -0.0748320906439, + -0.0808222299097, + -0.0596558238303, + -0.0295251838119, + -0.00662099160356, + 0.000352925693844, + -0.00919648511301, + -0.0302645579685, + -0.055709389992, + -0.0790853644725, + -0.0961960547666, + -0.105432751443, + -0.10731744779, + -0.103713713628, + -0.0970458940323, + -0.0897015021157, + -0.0836567538336, + -0.0802858020076, + -0.0802858020076, + -0.0836567538336, + -0.0897015021157, + -0.0970458940323, + -0.103713713628, + -0.10731744779, + -0.105432751443, + -0.0961960547666, + -0.0790853644725, + -0.055709389992, + -0.0302645579685, + -0.00919648511301, + 0.000352925693844, + -0.00662099160356, + -0.0295251838119, + -0.0596558238303, + -0.0808222299097, + -0.0748320906439, + -0.031393024241, + 0.0416048753315, + 0.114605197308, + 0.14638075659, + 0.107499723508, + 0.00581334290736, + -0.106087531791, + -0.156490089905, + -0.105355971013, + 0.0157941453259, + 0.116600914008, + 0.118115357712, + 0.0260288601063, + -0.0694193972043, + -0.0817850492759, + -0.0183792743299, + 0.0357886362113, + 0.0284351500794, + 0.000424289000745, + 0.00642723365617, + 0.0175760656371, + -0.0206243391329, + -0.0589452353564, + -0.00270994646265, + 0.0876996341545, + 0.0438754268251, + -0.0950366175843, + -0.0807019172559, + 0.0909389740964, + 0.102325990628, + -0.0879015604124, + -0.106050239301 + ], + [ + 0.0617155293165, + -0.0948961763657, + -0.0618054169741, + 0.0848230488047, + 0.0678338897137, + -0.060983691684, + -0.0715107329077, + 0.0269658709889, + 0.0613274293135, + 0.00458127527938, + -0.0328747482517, + -0.0132090717242, + 0.00291866827564, + -0.00946218444421, + -0.00625176303977, + 0.0306367288864, + 0.0502489605065, + 0.00741518289701, + -0.0647619747438, + -0.087282165606, + -0.0258851607968, + 0.0704980284661, + 0.118958599712, + 0.0788243296068, + -0.0189700683932, + -0.104826772064, + -0.125860048861, + -0.077435694418, + 0.00442269904122, + 0.0734812901002, + 0.100943071008, + 0.0852418047501, + 0.0446949014181, + 0.00287340909883, + -0.0234559609746, + -0.0291431645409, + -0.0188640869099, + -0.00206920056086, + 0.0120022011547, + 0.0173693674209, + 0.0121121875623, + -0.00241569895732, + -0.0230414064799, + -0.0461650239442, + -0.0687097966044, + -0.0885559721577, + -0.104564371373, + -0.116356992702, + -0.124007208386, + -0.127746245743, + -0.127746245743, + -0.124007208386, + -0.116356992702, + -0.104564371373, + -0.0885559721577, + -0.0687097966044, + -0.0461650239442, + -0.0230414064799, + -0.00241569895732, + 0.0121121875623, + 0.0173693674209, + 0.0120022011547, + -0.00206920056086, + -0.0188640869099, + -0.0291431645409, + -0.0234559609746, + 0.00287340909883, + 0.0446949014181, + 0.0852418047501, + 0.100943071008, + 0.0734812901002, + 0.00442269904122, + -0.077435694418, + -0.125860048861, + -0.104826772064, + -0.0189700683932, + 0.0788243296068, + 0.118958599712, + 0.0704980284661, + -0.0258851607968, + -0.087282165606, + -0.0647619747438, + 0.00741518289701, + 0.0502489605065, + 0.0306367288864, + -0.00625176303977, + -0.00946218444421, + 0.00291866827564, + -0.0132090717242, + -0.0328747482517, + 0.00458127527938, + 0.0613274293135, + 0.0269658709889, + -0.0715107329077, + -0.060983691684, + 0.0678338897137, + 0.0848230488047, + -0.0618054169741, + -0.0948961763657, + 0.0617155293165 + ], + [ + 0.0759141069589, + 0.0396612193267, + -0.0735727745134, + -0.0431309571058, + 0.0610333181189, + 0.0494462103595, + -0.0386736424994, + -0.0502611821142, + 0.0114371961838, + 0.0373703541842, + 0.00759055331138, + -0.0130182258965, + -0.00352762464551, + -0.00176684965644, + -0.018639875881, + -0.01733617193, + 0.0193778272339, + 0.0518778148282, + 0.0327376690014, + -0.0299772168441, + -0.0772470036253, + -0.0609881945262, + 0.00909803202974, + 0.0776632511362, + 0.0937412002729, + 0.0489429103235, + -0.0235409696394, + -0.0786534994387, + -0.0896544159059, + -0.0590729103178, + -0.00967299985075, + 0.032853761292, + 0.0531962867268, + 0.0502481994144, + 0.0330274958592, + 0.0135654603748, + 0.0010901854082, + -0.000544480422946, + 0.00755492392208, + 0.0213566185554, + 0.0361619664876, + 0.0482231025708, + 0.0554654885085, + 0.0574734181445, + 0.0550571252439, + 0.0496984306358, + 0.0430672137974, + 0.0366893528883, + 0.0317662224951, + 0.0291044254715, + 0.0291044254715, + 0.0317662224951, + 0.0366893528883, + 0.0430672137974, + 0.0496984306358, + 0.0550571252439, + 0.0574734181445, + 0.0554654885085, + 0.0482231025708, + 0.0361619664876, + 0.0213566185554, + 0.00755492392208, + -0.000544480422946, + 0.0010901854082, + 0.0135654603748, + 0.0330274958592, + 0.0502481994144, + 0.0531962867268, + 0.032853761292, + -0.00967299985075, + -0.0590729103178, + -0.0896544159059, + -0.0786534994387, + -0.0235409696394, + 0.0489429103235, + 0.0937412002729, + 0.0776632511362, + 0.00909803202974, + -0.0609881945262, + -0.0772470036253, + -0.0299772168441, + 0.0327376690014, + 0.0518778148282, + 0.0193778272339, + -0.01733617193, + -0.018639875881, + -0.00176684965644, + -0.00352762464551, + -0.0130182258965, + 0.00759055331138, + 0.0373703541842, + 0.0114371961838, + -0.0502611821142, + -0.0386736424994, + 0.0494462103595, + 0.0610333181189, + -0.0431309571058, + -0.0735727745134, + 0.0396612193267, + 0.0759141069589 + ], + [ + -0.024266179731, + 0.0525348824234, + 0.0245264672664, + -0.0476832593255, + -0.0288222873104, + 0.0360593354494, + 0.0328646078072, + -0.0187001449329, + -0.0302818701327, + 0.00129147461524, + 0.0175575172945, + 0.00548953984885, + -0.0018353451137, + 0.00466450297704, + 0.00138215083286, + -0.0173336214637, + -0.0237737294228, + 0.00125618116878, + 0.0362244969703, + 0.0416064936461, + 0.00569572683366, + -0.0418532313052, + -0.0597244422396, + -0.0326062880649, + 0.0187551868448, + 0.0580964023733, + 0.0617435106133, + 0.0317490915377, + -0.0109427152628, + -0.043067134408, + -0.0522130308581, + -0.0400996713113, + -0.0175319269468, + 0.00341069050986, + 0.0150978413342, + 0.0160923045532, + 0.00966848449775, + 0.000995920405358, + -0.00534938957968, + -0.00673030068597, + -0.00263308851218, + 0.00589042373094, + 0.01703087304, + 0.0289251606864, + 0.0400951161023, + 0.0496127207278, + 0.0570645947366, + 0.0624084171755, + 0.0657985092257, + 0.0674304971649, + 0.0674304971649, + 0.0657985092257, + 0.0624084171755, + 0.0570645947366, + 0.0496127207278, + 0.0400951161023, + 0.0289251606864, + 0.01703087304, + 0.00589042373094, + -0.00263308851218, + -0.00673030068597, + -0.00534938957968, + 0.000995920405359, + 0.00966848449775, + 0.0160923045532, + 0.0150978413342, + 0.00341069050986, + -0.0175319269468, + -0.0400996713113, + -0.0522130308581, + -0.043067134408, + -0.0109427152628, + 0.0317490915377, + 0.0617435106133, + 0.0580964023733, + 0.0187551868448, + -0.0326062880649, + -0.0597244422396, + -0.0418532313052, + 0.00569572683366, + 0.0416064936461, + 0.0362244969703, + 0.00125618116878, + -0.0237737294228, + -0.0173336214637, + 0.00138215083286, + 0.00466450297704, + -0.0018353451137, + 0.00548953984885, + 0.0175575172945, + 0.00129147461524, + -0.0302818701327, + -0.0187001449329, + 0.0328646078072, + 0.0360593354494, + -0.0288222873104, + -0.0476832593255, + 0.0245264672664, + 0.0525348824234, + -0.024266179731 + ], + [ + -0.0266325682552, + -0.0112819715197, + 0.0258396324984, + 0.0126430958126, + -0.0217665292197, + -0.0152358579043, + 0.0143734135825, + 0.0162013012304, + -0.00507666015618, + -0.0125468901498, + -0.00185133935869, + 0.0046072883364, + 0.00111433209215, + 0.000782670903964, + 0.00633009424671, + 0.00513632427357, + -0.00747493904712, + -0.0173949834257, + -0.00954855542713, + 0.0117467098724, + 0.0261787231336, + 0.0187984518422, + -0.00545427133115, + -0.0273719333746, + -0.0306924919559, + -0.0140787896954, + 0.0103708090981, + 0.0276312283782, + 0.0295929217232, + 0.0180525660439, + 0.00114262279354, + -0.0126029032463, + -0.0184986396858, + -0.0166668651864, + -0.0104358760495, + -0.00388838708379, + 0.0000234079976273, + 0.000221792647614, + -0.00273726192057, + -0.00739968390306, + -0.0121755176724, + -0.015856345386, + -0.0178233671179, + -0.0180136340288, + -0.0167575317222, + -0.0145870014444, + -0.0120756731898, + -0.00973398858679, + -0.00795615127314, + -0.00700306048606, + -0.00700306048606, + -0.00795615127314, + -0.00973398858679, + -0.0120756731898, + -0.0145870014444, + -0.0167575317222, + -0.0180136340288, + -0.0178233671179, + -0.015856345386, + -0.0121755176724, + -0.00739968390306, + -0.00273726192057, + 0.000221792647614, + 0.0000234079976273, + -0.00388838708379, + -0.0104358760495, + -0.0166668651864, + -0.0184986396858, + -0.0126029032463, + 0.00114262279354, + 0.0180525660439, + 0.0295929217232, + 0.0276312283782, + 0.0103708090981, + -0.0140787896954, + -0.0306924919559, + -0.0273719333746, + -0.00545427133115, + 0.0187984518422, + 0.0261787231336, + 0.0117467098724, + -0.00954855542713, + -0.0173949834257, + -0.00747493904712, + 0.00513632427357, + 0.00633009424671, + 0.000782670903963, + 0.00111433209215, + 0.0046072883364, + -0.00185133935869, + -0.0125468901498, + -0.00507666015618, + 0.0162013012304, + 0.0143734135825, + -0.0152358579043, + -0.0217665292197, + 0.0126430958126, + 0.0258396324984, + -0.0112819715197, + -0.0266325682552 + ], + [ + 2.26419383564e-17, + -5.11137762735e-17, + -2.29068249466e-17, + 4.64445515358e-17, + 2.71681363064e-17, + -3.52782392146e-17, + -3.12812458983e-17, + 1.85388995493e-17, + 2.90565613908e-17, + -1.62852812196e-18, + -1.69838675383e-17, + -5.15034857713e-18, + 1.80243342064e-18, + -4.4691901237e-18, + -1.1378292691e-18, + 1.68428473888e-17, + 2.26504780047e-17, + -1.73890813469e-18, + -3.51288100042e-17, + -3.96423531438e-17, + -4.67616037607e-18, + 4.07835618714e-17, + 5.71950096717e-17, + 3.0471630867e-17, + -1.8935669033e-17, + -5.61695341475e-17, + -5.89042177312e-17, + -2.96000565994e-17, + 1.13892013359e-17, + 4.18150884809e-17, + 5.00475678101e-17, + 3.80142393833e-17, + 1.62198610649e-17, + -3.7708393162e-18, + -1.47612757809e-17, + -1.55091916512e-17, + -9.2438950339e-18, + -9.45270970304e-19, + 5.02910953514e-18, + 6.20566802174e-18, + 2.14529422973e-18, + -6.10761678723e-18, + -1.680449779e-17, + -2.81639504362e-17, + -3.878527871e-17, + -4.77997994234e-17, + -5.48315413037e-17, + -5.98566544058e-17, + -6.30351653884e-17, + -6.45621795067e-17, + -6.45621795067e-17, + -6.30351653884e-17, + -5.98566544058e-17, + -5.48315413037e-17, + -4.77997994234e-17, + -3.878527871e-17, + -2.81639504362e-17, + -1.680449779e-17, + -6.10761678723e-18, + 2.14529422973e-18, + 6.20566802174e-18, + 5.02910953514e-18, + -9.45270970304e-19, + -9.2438950339e-18, + -1.55091916512e-17, + -1.47612757809e-17, + -3.7708393162e-18, + 1.62198610649e-17, + 3.80142393833e-17, + 5.00475678101e-17, + 4.18150884809e-17, + 1.13892013359e-17, + -2.96000565994e-17, + -5.89042177312e-17, + -5.61695341475e-17, + -1.8935669033e-17, + 3.0471630867e-17, + 5.71950096717e-17, + 4.07835618714e-17, + -4.67616037607e-18, + -3.96423531438e-17, + -3.51288100042e-17, + -1.73890813469e-18, + 2.26504780047e-17, + 1.68428473888e-17, + -1.1378292691e-18, + -4.4691901237e-18, + 1.80243342064e-18, + -5.15034857713e-18, + -1.69838675383e-17, + -1.62852812196e-18, + 2.90565613908e-17, + 1.85388995493e-17, + -3.12812458983e-17, + -3.52782392146e-17, + 2.71681363064e-17, + 4.64445515358e-17, + -2.29068249466e-17, + -5.11137762735e-17, + 2.26419383564e-17 + ] + ], + "x": [ + -6.28318530718, + -6.15625227067, + -6.02931923416, + -5.90238619765, + -5.77545316114, + -5.64852012464, + -5.52158708813, + -5.39465405162, + -5.26772101511, + -5.1407879786, + -5.01385494209, + -4.88692190558, + -4.75998886908, + -4.63305583257, + -4.50612279606, + -4.37918975955, + -4.25225672304, + -4.12532368653, + -3.99839065002, + -3.87145761351, + -3.74452457701, + -3.6175915405, + -3.49065850399, + -3.36372546748, + -3.23679243097, + -3.10985939446, + -2.98292635795, + -2.85599332145, + -2.72906028494, + -2.60212724843, + -2.47519421192, + -2.34826117541, + -2.2213281389, + -2.09439510239, + -1.96746206588, + -1.84052902938, + -1.71359599287, + -1.58666295636, + -1.45972991985, + -1.33279688334, + -1.20586384683, + -1.07893081032, + -0.951997773815, + -0.825064737306, + -0.698131700798, + -0.571198664289, + -0.44426562778, + -0.317332591272, + -0.190399554763, + -0.0634665182543, + 0.0634665182543, + 0.190399554763, + 0.317332591272, + 0.44426562778, + 0.571198664289, + 0.698131700798, + 0.825064737306, + 0.951997773815, + 1.07893081032, + 1.20586384683, + 1.33279688334, + 1.45972991985, + 1.58666295636, + 1.71359599287, + 1.84052902938, + 1.96746206588, + 2.09439510239, + 2.2213281389, + 2.34826117541, + 2.47519421192, + 2.60212724843, + 2.72906028494, + 2.85599332145, + 2.98292635795, + 3.10985939446, + 3.23679243097, + 3.36372546748, + 3.49065850399, + 3.6175915405, + 3.74452457701, + 3.87145761351, + 3.99839065002, + 4.12532368653, + 4.25225672304, + 4.37918975955, + 4.50612279606, + 4.63305583257, + 4.75998886908, + 4.88692190558, + 5.01385494209, + 5.1407879786, + 5.26772101511, + 5.39465405162, + 5.52158708813, + 5.64852012464, + 5.77545316114, + 5.90238619765, + 6.02931923416, + 6.15625227067, + 6.28318530718 + ], + "y": [ + -6.28318530718, + -6.15625227067, + -6.02931923416, + -5.90238619765, + -5.77545316114, + -5.64852012464, + -5.52158708813, + -5.39465405162, + -5.26772101511, + -5.1407879786, + -5.01385494209, + -4.88692190558, + -4.75998886908, + -4.63305583257, + -4.50612279606, + -4.37918975955, + -4.25225672304, + -4.12532368653, + -3.99839065002, + -3.87145761351, + -3.74452457701, + -3.6175915405, + -3.49065850399, + -3.36372546748, + -3.23679243097, + -3.10985939446, + -2.98292635795, + -2.85599332145, + -2.72906028494, + -2.60212724843, + -2.47519421192, + -2.34826117541, + -2.2213281389, + -2.09439510239, + -1.96746206588, + -1.84052902938, + -1.71359599287, + -1.58666295636, + -1.45972991985, + -1.33279688334, + -1.20586384683, + -1.07893081032, + -0.951997773815, + -0.825064737306, + -0.698131700798, + -0.571198664289, + -0.44426562778, + -0.317332591272, + -0.190399554763, + -0.0634665182543, + 0.0634665182543, + 0.190399554763, + 0.317332591272, + 0.44426562778, + 0.571198664289, + 0.698131700798, + 0.825064737306, + 0.951997773815, + 1.07893081032, + 1.20586384683, + 1.33279688334, + 1.45972991985, + 1.58666295636, + 1.71359599287, + 1.84052902938, + 1.96746206588, + 2.09439510239, + 2.2213281389, + 2.34826117541, + 2.47519421192, + 2.60212724843, + 2.72906028494, + 2.85599332145, + 2.98292635795, + 3.10985939446, + 3.23679243097, + 3.36372546748, + 3.49065850399, + 3.6175915405, + 3.74452457701, + 3.87145761351, + 3.99839065002, + 4.12532368653, + 4.25225672304, + 4.37918975955, + 4.50612279606, + 4.63305583257, + 4.75998886908, + 4.88692190558, + 5.01385494209, + 5.1407879786, + 5.26772101511, + 5.39465405162, + 5.52158708813, + 5.64852012464, + 5.77545316114, + 5.90238619765, + 6.02931923416, + 6.15625227067, + 6.28318530718 + ], + "type": "contour" + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_splom.json b/test/image/mocks/tooltip_splom.json new file mode 100644 index 00000000000..5b0e83c6d4a --- /dev/null +++ b/test/image/mocks/tooltip_splom.json @@ -0,0 +1,707 @@ +{ + "data": [ + { + "type": "splom", + "name": "Setosa", + "dimensions": [ + { + "label": "SepalLength", + "values": [ + "5.1", + "4.9", + "4.7", + "4.6", + "5.0", + "5.4", + "4.6", + "5.0", + "4.4", + "4.9", + "5.4", + "4.8", + "4.8", + "4.3", + "5.8", + "5.7", + "5.4", + "5.1", + "5.7", + "5.1", + "5.4", + "5.1", + "4.6", + "5.1", + "4.8", + "5.0", + "5.0", + "5.2", + "5.2", + "4.7", + "4.8", + "5.4", + "5.2", + "5.5", + "4.9", + "5.0", + "5.5", + "4.9", + "4.4", + "5.1", + "5.0", + "4.5", + "4.4", + "5.0", + "5.1", + "4.8", + "5.1", + "4.6", + "5.3", + "5.0" + ] + }, + { + "label": "SepalWidth", + "values": [ + "3.5", + "3.0", + "3.2", + "3.1", + "3.6", + "3.9", + "3.4", + "3.4", + "2.9", + "3.1", + "3.7", + "3.4", + "3.0", + "3.0", + "4.0", + "4.4", + "3.9", + "3.5", + "3.8", + "3.8", + "3.4", + "3.7", + "3.6", + "3.3", + "3.4", + "3.0", + "3.4", + "3.5", + "3.4", + "3.2", + "3.1", + "3.4", + "4.1", + "4.2", + "3.1", + "3.2", + "3.5", + "3.1", + "3.0", + "3.4", + "3.5", + "2.3", + "3.2", + "3.5", + "3.8", + "3.0", + "3.8", + "3.2", + "3.7", + "3.3" + ] + }, + { + "label": "PetalLength", + "values": [ + "1.4", + "1.4", + "1.3", + "1.5", + "1.4", + "1.7", + "1.4", + "1.5", + "1.4", + "1.5", + "1.5", + "1.6", + "1.4", + "1.1", + "1.2", + "1.5", + "1.3", + "1.4", + "1.7", + "1.5", + "1.7", + "1.5", + "1.0", + "1.7", + "1.9", + "1.6", + "1.6", + "1.5", + "1.4", + "1.6", + "1.6", + "1.5", + "1.5", + "1.4", + "1.5", + "1.2", + "1.3", + "1.5", + "1.3", + "1.5", + "1.3", + "1.3", + "1.3", + "1.6", + "1.9", + "1.4", + "1.6", + "1.4", + "1.5", + "1.4" + ] + }, + { + "label": "PetalWidth", + "values": [ + "0.2", + "0.2", + "0.2", + "0.2", + "0.2", + "0.4", + "0.3", + "0.2", + "0.2", + "0.1", + "0.2", + "0.2", + "0.1", + "0.1", + "0.2", + "0.4", + "0.4", + "0.3", + "0.3", + "0.3", + "0.2", + "0.4", + "0.2", + "0.5", + "0.2", + "0.2", + "0.4", + "0.2", + "0.2", + "0.2", + "0.2", + "0.4", + "0.1", + "0.2", + "0.1", + "0.2", + "0.2", + "0.1", + "0.2", + "0.2", + "0.3", + "0.3", + "0.2", + "0.6", + "0.4", + "0.3", + "0.2", + "0.2", + "0.2", + "0.2" + ] + } + ], + "marker": { + "color": "red" + } + }, + { + "type": "splom", + "name": "Versicolor", + "dimensions": [ + { + "label": "SepalLength", + "values": [ + "7.0", + "6.4", + "6.9", + "5.5", + "6.5", + "5.7", + "6.3", + "4.9", + "6.6", + "5.2", + "5.0", + "5.9", + "6.0", + "6.1", + "5.6", + "6.7", + "5.6", + "5.8", + "6.2", + "5.6", + "5.9", + "6.1", + "6.3", + "6.1", + "6.4", + "6.6", + "6.8", + "6.7", + "6.0", + "5.7", + "5.5", + "5.5", + "5.8", + "6.0", + "5.4", + "6.0", + "6.7", + "6.3", + "5.6", + "5.5", + "5.5", + "6.1", + "5.8", + "5.0", + "5.6", + "5.7", + "5.7", + "6.2", + "5.1", + "5.7" + ] + }, + { + "label": "SepalWidth", + "values": [ + "3.2", + "3.2", + "3.1", + "2.3", + "2.8", + "2.8", + "3.3", + "2.4", + "2.9", + "2.7", + "2.0", + "3.0", + "2.2", + "2.9", + "2.9", + "3.1", + "3.0", + "2.7", + "2.2", + "2.5", + "3.2", + "2.8", + "2.5", + "2.8", + "2.9", + "3.0", + "2.8", + "3.0", + "2.9", + "2.6", + "2.4", + "2.4", + "2.7", + "2.7", + "3.0", + "3.4", + "3.1", + "2.3", + "3.0", + "2.5", + "2.6", + "3.0", + "2.6", + "2.3", + "2.7", + "3.0", + "2.9", + "2.9", + "2.5", + "2.8" + ] + }, + { + "label": "PetalLength", + "values": [ + "4.7", + "4.5", + "4.9", + "4.0", + "4.6", + "4.5", + "4.7", + "3.3", + "4.6", + "3.9", + "3.5", + "4.2", + "4.0", + "4.7", + "3.6", + "4.4", + "4.5", + "4.1", + "4.5", + "3.9", + "4.8", + "4.0", + "4.9", + "4.7", + "4.3", + "4.4", + "4.8", + "5.0", + "4.5", + "3.5", + "3.8", + "3.7", + "3.9", + "5.1", + "4.5", + "4.5", + "4.7", + "4.4", + "4.1", + "4.0", + "4.4", + "4.6", + "4.0", + "3.3", + "4.2", + "4.2", + "4.2", + "4.3", + "3.0", + "4.1" + ] + }, + { + "label": "PetalWidth", + "values": [ + "1.4", + "1.5", + "1.5", + "1.3", + "1.5", + "1.3", + "1.6", + "1.0", + "1.3", + "1.4", + "1.0", + "1.5", + "1.0", + "1.4", + "1.3", + "1.4", + "1.5", + "1.0", + "1.5", + "1.1", + "1.8", + "1.3", + "1.5", + "1.2", + "1.3", + "1.4", + "1.4", + "1.7", + "1.5", + "1.0", + "1.1", + "1.0", + "1.2", + "1.6", + "1.5", + "1.6", + "1.5", + "1.3", + "1.3", + "1.3", + "1.2", + "1.4", + "1.2", + "1.0", + "1.3", + "1.2", + "1.3", + "1.3", + "1.1", + "1.3" + ] + } + ], + "marker": { + "color": "green" + } + }, + { + "type": "splom", + "name": "Virginica", + "dimensions": [ + { + "label": "SepalLength", + "values": [ + "6.3", + "5.8", + "7.1", + "6.3", + "6.5", + "7.6", + "4.9", + "7.3", + "6.7", + "7.2", + "6.5", + "6.4", + "6.8", + "5.7", + "5.8", + "6.4", + "6.5", + "7.7", + "7.7", + "6.0", + "6.9", + "5.6", + "7.7", + "6.3", + "6.7", + "7.2", + "6.2", + "6.1", + "6.4", + "7.2", + "7.4", + "7.9", + "6.4", + "6.3", + "6.1", + "7.7", + "6.3", + "6.4", + "6.0", + "6.9", + "6.7", + "6.9", + "5.8", + "6.8", + "6.7", + "6.7", + "6.3", + "6.5", + "6.2", + "5.9" + ] + }, + { + "label": "SepalWidth", + "values": [ + "3.3", + "2.7", + "3.0", + "2.9", + "3.0", + "3.0", + "2.5", + "2.9", + "2.5", + "3.6", + "3.2", + "2.7", + "3.0", + "2.5", + "2.8", + "3.2", + "3.0", + "3.8", + "2.6", + "2.2", + "3.2", + "2.8", + "2.8", + "2.7", + "3.3", + "3.2", + "2.8", + "3.0", + "2.8", + "3.0", + "2.8", + "3.8", + "2.8", + "2.8", + "2.6", + "3.0", + "3.4", + "3.1", + "3.0", + "3.1", + "3.1", + "3.1", + "2.7", + "3.2", + "3.3", + "3.0", + "2.5", + "3.0", + "3.4", + "3.0" + ] + }, + { + "label": "PetalLength", + "values": [ + "6.0", + "5.1", + "5.9", + "5.6", + "5.8", + "6.6", + "4.5", + "6.3", + "5.8", + "6.1", + "5.1", + "5.3", + "5.5", + "5.0", + "5.1", + "5.3", + "5.5", + "6.7", + "6.9", + "5.0", + "5.7", + "4.9", + "6.7", + "4.9", + "5.7", + "6.0", + "4.8", + "4.9", + "5.6", + "5.8", + "6.1", + "6.4", + "5.6", + "5.1", + "5.6", + "6.1", + "5.6", + "5.5", + "4.8", + "5.4", + "5.6", + "5.1", + "5.1", + "5.9", + "5.7", + "5.2", + "5.0", + "5.2", + "5.4", + "5.1" + ] + }, + { + "label": "PetalWidth", + "values": [ + "2.5", + "1.9", + "2.1", + "1.8", + "2.2", + "2.1", + "1.7", + "1.8", + "1.8", + "2.5", + "2.0", + "1.9", + "2.1", + "2.0", + "2.4", + "2.3", + "1.8", + "2.2", + "2.3", + "1.5", + "2.3", + "2.0", + "2.0", + "1.8", + "2.1", + "1.8", + "1.8", + "1.8", + "2.1", + "1.6", + "1.9", + "2.0", + "2.2", + "1.5", + "1.4", + "2.3", + "2.4", + "1.8", + "1.8", + "2.1", + "2.4", + "2.3", + "1.9", + "2.3", + "2.5", + "2.3", + "1.9", + "2.0", + "2.3", + "1.8" + ] + } + ], + "marker": { + "color": "blue" + } + } + ], + "layout": { + "title": {"text": "Iris dataset splom"}, + "width": 600, + "height": 500 + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_stacked_area.json b/test/image/mocks/tooltip_stacked_area.json new file mode 100644 index 00000000000..6052982369a --- /dev/null +++ b/test/image/mocks/tooltip_stacked_area.json @@ -0,0 +1,240 @@ +{ + "data": [ + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2", + "stackgaps": "interpolate" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "b", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "b", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers", + "groupnorm": "fraction" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "b", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers", + "stackgaps": "interpolate", + "groupnorm": "fraction" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5", + "groupnorm": "percent" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "groupnorm": "percent" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "stackgaps": "interpolate" + } + ], + "layout": { + "width": 800, + "height": 800, + "xaxis": { "title": { "text": "stackgaps: infer zero" } }, + "xaxis2": { "title": { "text": "stackgaps: interpolate" } }, + "yaxis": { "title": { "text": "groupnorm: -" } }, + "yaxis3": { + "title": { "text": "groupnorm: fraction
mode: lines+markers" } + }, + "yaxis5": { "title": { "text": "groupnorm: percent" } }, + "legend": { "traceorder": "reversed" }, + "grid": { + "columns": 2, + "rows": 3, + "pattern": "independent", + "roworder": "bottom to top" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_stacked_area_horz.json b/test/image/mocks/tooltip_stacked_area_horz.json new file mode 100644 index 00000000000..560e342067b --- /dev/null +++ b/test/image/mocks/tooltip_stacked_area_horz.json @@ -0,0 +1,246 @@ +{ + "data": [ + { + "y": [1, 3, 5, 7], + "x": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "orientation": "h", + "name": "bottom", + "legendgroup": "b" + }, + { + "y": [2, 5, 6], + "x": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "m" + }, + { + "y": [3, 4, 5], + "x": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t" + }, + + { + "y": [1, 3, 5, 7], + "x": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2", + "stackgaps": "interpolate" + }, + { + "y": [2, 5, 6], + "x": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "orientation": "h", + "name": "middle", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2" + }, + { + "y": [3, 4, 5], + "x": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2" + }, + + { + "y": [1, 3, 5, 7], + "x": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "b", + "name": "bottom", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers", + "groupnorm": "fraction" + }, + { + "y": [2, 5, 6], + "x": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "b", + "name": "middle", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers" + }, + { + "y": [3, 4, 5], + "x": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "b", + "orientation": "h", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers" + }, + + { + "y": [1, 3, 5, 7], + "x": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "orientation": "h", + "name": "bottom", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers" + }, + { + "y": [2, 5, 6], + "x": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers", + "stackgaps": "interpolate", + "groupnorm": "fraction" + }, + { + "y": [3, 4, 5], + "x": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers" + }, + + { + "y": [1, 3, 5, 7], + "x": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5" + }, + { + "y": [2, 5, 6], + "x": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "orientation": "h", + "name": "middle", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5" + }, + { + "y": [3, 4, 5], + "x": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5", + "groupnorm": "percent" + }, + + { + "y": [1, 3, 5, 7], + "x": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "groupnorm": "percent" + }, + { + "y": [2, 5, 6], + "x": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6" + }, + { + "y": [3, 4, 5], + "x": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "orientation": "h", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "stackgaps": "interpolate" + } + ], + "layout": { + "width": 800, + "height": 800, + "xaxis": { "title": { "text": "stackgaps: infer zero" } }, + "xaxis2": { "title": { "text": "stackgaps: interpolate" } }, + "yaxis": { "title": { "text": "groupnorm: -" } }, + "yaxis3": { + "title": { "text": "groupnorm: fraction
mode: lines+markers" } + }, + "yaxis5": { "title": { "text": "groupnorm: percent" } }, + "legend": { "traceorder": "reversed" }, + "grid": { + "columns": 2, + "rows": 3, + "pattern": "independent", + "roworder": "bottom to top" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_stacked_area_string.json b/test/image/mocks/tooltip_stacked_area_string.json new file mode 100644 index 00000000000..d4c234dec39 --- /dev/null +++ b/test/image/mocks/tooltip_stacked_area_string.json @@ -0,0 +1,240 @@ +{ + "data": [ + { + "x": ["Cave", "Mountain", "River"], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m" + }, + { + "x": ["Forest", "Ocean", "Desert", "Sky"], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b" + }, + { + "x": ["Island", "Valley", "Hill"], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t" + }, + + { + "x": ["Cave", "Mountain", "River"], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2" + }, + { + "x": ["Forest", "Ocean", "Desert", "Sky"], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2", + "stackgaps": "interpolate" + }, + { + "x": ["Island", "Valley", "Hill"], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2" + }, + + { + "x": ["Cave", "Mountain", "River"], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "b", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers" + }, + { + "x": ["Forest", "Ocean", "Desert", "Sky"], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "b", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers", + "groupnorm": "fraction" + }, + { + "x": ["Island", "Valley", "Hill"], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "b", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers" + }, + + { + "x": ["Cave", "Mountain", "River"], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers", + "stackgaps": "interpolate", + "groupnorm": "fraction" + }, + { + "x": ["Forest", "Ocean", "Desert", "Sky"], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers" + }, + { + "x": ["Island", "Valley", "Hill"], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers" + }, + + { + "x": ["Cave", "Mountain", "River"], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5" + }, + { + "x": ["Forest", "Ocean", "Desert", "Sky"], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5" + }, + { + "x": ["Island", "Valley", "Hill"], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5", + "groupnorm": "percent" + }, + + { + "x": ["Cave", "Mountain", "River"], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6" + }, + { + "x": ["Forest", "Ocean", "Desert", "Sky"], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "groupnorm": "percent" + }, + { + "x": ["Island", "Valley", "Hill"], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "stackgaps": "interpolate" + } + ], + "layout": { + "width": 800, + "height": 800, + "xaxis": { "title": { "text": "stackgaps: infer zero" } }, + "xaxis2": { "title": { "text": "stackgaps: interpolate" } }, + "yaxis": { "title": { "text": "groupnorm: -" } }, + "yaxis3": { + "title": { "text": "groupnorm: fraction
mode: lines+markers" } + }, + "yaxis5": { "title": { "text": "groupnorm: percent" } }, + "legend": { "traceorder": "reversed" }, + "grid": { + "columns": 2, + "rows": 3, + "pattern": "independent", + "roworder": "bottom to top" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_stacked_bar.json b/test/image/mocks/tooltip_stacked_bar.json new file mode 100644 index 00000000000..960c1813d86 --- /dev/null +++ b/test/image/mocks/tooltip_stacked_bar.json @@ -0,0 +1,33 @@ +{ + "data": [ + { + "x": ["giraffes", "orangutans", "monkeys"], + "y": [20, 14, 23], + "name": "SF Zoo", + "type": "bar" + }, + { + "x": ["giraffes", "orangutans", "monkeys"], + "y": [12, 18, 29], + "name": "LA Zoo", + "type": "bar" + } + ], + "layout": { + "xaxis": { + "type": "category" + }, + "barmode": "stack" + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_template_heatmap.json b/test/image/mocks/tooltip_template_heatmap.json new file mode 100644 index 00000000000..2eb5349fbb4 --- /dev/null +++ b/test/image/mocks/tooltip_template_heatmap.json @@ -0,0 +1,23 @@ +{ + "data": [ + {"z":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0.479425538604203,0.42073549240394825,0.2590347239999257,0.033913221008892595,-0.19951142125004898,-0.38408870938290723,-0.47462768589678817,-0.4489612516838977,-0.3133734449877386,-0.1010608896776051,0.13599489604735257,0.3397543882321063,0.4603301568291037,0.46820104845885746,0.36143999434346163,0.16618582395229636,-0.06975643207562429,-0.2886198806908126,-0.43681911654264977,-0.47806979806556316],[0.8414709848078965,0.7384602626041288,0.4546487134128409,0.059523302749876744,-0.35017548837401463,-0.6741391071468371,-0.833049961066805,-0.7880011308845267,-0.5500221413615028,-0.17737854894038602,0.23869349855450117,0.5963250528764563,0.8079554366909637,0.8217701511725654,0.6343868724111538,0.29168356226783737,-0.12243405673851628,-0.5065755486182741,-0.7666896787563757,-0.8390914362975802],[0.9974949866040544,0.8753842058167891,0.5389488413540798,0.0705600040299336,-0.41510438314691145,-0.7991367400579124,-0.9875125521345757,-0.9341108507444101,-0.6520062348371742,-0.21026775312939655,0.28295160788871765,0.7068945470133586,0.957765047219918,0.9741412606432601,0.752013719096941,0.34576699172034125,-0.14513555427481242,-0.6005038548040795,-0.9088478683732044,-0.9946742265870426],[0.9092974268256817,0.7979835653540055,0.49129549643388193,0.06432115545729157,-0.37840124765396416,-0.72847782813465,-0.9001976297355174,-0.8515176560872232,-0.5943564625123038,-0.1916760780080705,0.2579332953294609,0.6443916022321794,0.8730803709656549,0.8880086151442936,0.6855213799524474,0.3151946025542913,-0.13230280634522198,-0.5474078740297428,-0.8284884026347462,-0.9067260757315837],[0.5984721441039564,0.5252087174427744,0.3233558794572173,0.04233424474998412,-0.24905228953044703,-0.47946213733156917,-0.5924829320872974,-0.5604432415034112,-0.3911874992581194,-0.1261554140534463,0.16976391633539115,0.4241191192817572,0.574635170156555,0.5844604902748424,0.4511894986016438,0.2074515818868843,-0.0870777172006391,-0.36028735417588875,-0.545286081388122,-0.596779758359612],[0.1411200080598672,0.12384445820716831,0.07624746575887673,0.009982434469478687,-0.05872664492762098,-0.11305739348309445,-0.13970774909946293,-0.13215277525819374,-0.09224219304455371,-0.029747504914657785,0.04003040989885004,0.10000748425976688,0.13549923859094465,0.13781605361390525,0.10639069220927921,0.048917178846713476,-0.020532965943782493,-0.0849559245590183,-0.12857870990075454,-0.1407209427195081],[-0.35078322768961984,-0.30784124362403054,-0.18952898678057029,-0.024813423918728386,0.14597733051683126,0.2810277433044853,0.34727276334600926,0.32849329935939453,0.22928721908526792,0.07394363090774263,-0.09950393699028207,-0.24858947079196256,-0.33681163228288286,-0.3425705594746185,-0.2644562661410251,-0.12159385562138761,0.051038971488334264,0.21117567833135176,0.3196092141095956,0.3497912675127834],[-0.7568024953079282,-0.6641566726773585,-0.4089021333016356,-0.0535340907332177,0.3149409643133779,0.6063074873459349,0.7492287917633427,0.7087127576894708,0.4946791233116909,0.15953078700964363,-0.21467624978306993,-0.5363230535329319,-0.7266592688575256,-0.7390839520378132,-0.5705551073052852,-0.2623344734994043,0.11011478865374665,0.4556041101569482,0.6895456557448896,0.7546623760610064],[-0.977530117665097,-0.8578633849855334,-0.5281617766300059,-0.06914774506952932,0.40679606609588603,0.7831420127722354,0.9677474816893965,0.9154146157156391,0.6389563256138466,0.20605924262087827,-0.27728832953300614,-0.6927460478486331,-0.9385953732878621,-0.9546438166881925,-0.7369621593961925,-0.3388464630301511,0.1422306651692096,0.5884847660672846,0.8906572721083589,0.9747658151790043],[-0.9589242746631385,-0.8415352216177445,-0.5181089967534271,-0.06783161980090216,0.39905330338932815,0.7682360604393477,0.9493278367245317,0.8979910496137723,0.6267947350248265,0.20213720907119684,-0.2720105554446849,-0.6795606492879366,-0.9207305956792999,-0.9364735806462414,-0.7229351724130583,-0.3323970207275786,0.13952351438338687,0.5772838271206204,0.8737049255013992,0.9562125865948901],[-0.7055403255703919,-0.6191698864310322,-0.3812050647886408,-0.04990794829456958,0.2936083745425595,0.5652391273416245,0.6984796283637233,0.6607079560337191,0.4611719330711226,0.14872493695926334,-0.20013511068373355,-0.49999510327535174,-0.6774388566463158,-0.6890219514041658,-0.5319084419776275,-0.2445651949995204,0.10265614122383222,0.42474367381750155,0.6428391416071514,0.7035451677325225],[-0.27941549819892586,-0.2452101687412882,-0.1509688379721747,-0.019765070445179098,0.11627787565772676,0.2238519424669352,0.2766192466508119,0.2616605118210736,0.18263815796815594,0.05889961331619216,-0.07925961087140347,-0.19801331804211275,-0.26828645900021747,-0.2728737179777018,-0.21065197399062777,-0.09685528002621675,0.04065496443459431,0.16821145571036328,0.2545839160486248,0.2786253548137082],[0.21511998808781552,0.1887855502599316,0.11622982560217349,0.015216985980121653,-0.08952150252080339,-0.17234200503308583,-0.21296717407571455,-0.2014505514147513,-0.1406118079338568,-0.045346389862510876,0.06102140595781295,0.15244903340373075,0.20655182062650113,0.21008351841332046,0.16217944397370895,0.0745681854434869,-0.0312999655396857,-0.12950479333428241,-0.19600233108307993,-0.21451166236246624],[0.6569865987187891,0.5765599824312772,0.35497137421222796,0.04647339352654919,-0.27340289471069096,-0.5263406190634532,-0.650411803098649,-0.6152394938306449,-0.4294350992454181,-0.138490015292236,0.18636225441262333,0.46558654462642685,0.6308190108172687,0.6416049825779119,0.4953036778474351,0.22773475846024002,-0.09559157232538983,-0.3955137523331289,-0.5986003717453734,-0.6551287432365397],[0.9379999767747389,0.8231724226710855,0.5068035503556529,0.06635149352141535,-0.39034572301610065,-0.7514726927762542,-0.9286129388183836,-0.8783963509293159,-0.6131177011890242,-0.19772645497028388,0.2660751233763779,0.6647322318261614,0.9006397065778377,0.9160391702513835,0.707160297064443,0.32514392007855847,-0.13647902833320322,-0.5646871507364809,-0.8546401644865887,-0.9353474593526193],[0.9893582466233818,0.8682435446991146,0.5345525419802729,0.06998443381300311,-0.4117183045441479,-0.792618042771031,-0.979457240606921,-0.9264911461767628,-0.6466877066541816,-0.20855256252041027,0.2806435224432541,0.7011282853277887,0.949952391260276,0.9661950210643687,0.7458794124825067,0.3429465102709998,-0.14395165833253265,-0.5956054404866631,-0.9014342383437266,-0.986560496036106],[0.7984871126234903,0.7007383659325692,0.4314244281564648,0.056482743914709636,-0.33228788594192726,-0.6397028523748146,-0.7904962501294102,-0.7477485963317867,-0.5219260075081489,-0.16831772924064364,0.2265005994310005,0.5658636818773687,0.7666835998143197,0.7797926334913993,0.6019812342709254,0.2767838340714156,-0.11617990188246004,-0.4806987459397784,-0.7275257720361802,-0.7962291157897863],[0.4121184852417566,0.36166799608084055,0.222668567867006,0.02915210840153438,-0.1715018039159572,-0.3301660933003065,-0.40799420809968046,-0.38593111146079634,-0.2693786189182488,-0.08687284555673806,0.11690243019347103,0.2920559139175316,0.39570392410849203,0.4024698130208766,0.3106970550803082,0.1428548221174657,-0.05996325353583019,-0.2481002334319773,-0.375493623385838,-0.41095307853690777],[-0.0751511204618093,-0.06595131282380662,-0.04060432367408991,-0.005315979963660839,0.03127390104315517,0.060206840359177054,0.07439904536830741,0.07037576931385751,0.04912205049061451,0.015841540515865917,-0.021317531070207008,-0.05325732757540569,-0.07215787287591162,-0.07339165430259903,-0.05665659913258328,-0.02605003252693758,0.010934490567948442,0.0452418690181102,0.06847246006729521,0.07493860483147616]], + "x":[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5], + "y":[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5], + "type":"heatmap", + "colorscale":"Viridis", + "tooltip":{"bgcolor":"rgba(255, 255, 255, 0.2)"}, + "tooltiptemplate":"x: %{x:.4~g}
y: %{y:.4~g}
z: %{z:.4~g}" + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_bar-grouping-vs-defaults.json b/test/image/mocks/tooltip_tooltiptemplate_bar-grouping-vs-defaults.json new file mode 100644 index 00000000000..eb8c67c1f4a --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_bar-grouping-vs-defaults.json @@ -0,0 +1,84 @@ +{ + "data": [ + { + "type": "bar", + "y": [1, 2, 1], + "yaxis": "y2", + "tooltiptemplate": "x: x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "bar", + "y": [2, 1, 2], + "tooltiptemplate": "x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "bar", + "y": [1, 3, 0], + "tooltiptemplate": "x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "bar", + "y": [1, 2, 1], + "alignmentgroup": "top", + "hovertext": "alignmentgroup: top", + "xaxis": "x2", + "yaxis": "y2", + "tooltiptemplate": "x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "bar", + "y": [2, 1, 2], + "hovertext": "alignmentgroup: top
offsetgroup: 1", + "alignmentgroup": "bottom", + "offsetgroup": "1", + "xaxis": "x2", + "tooltiptemplate": "x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "bar", + "y": [1, 3, 0], + "hovertext": "alignmentgroup: top
offsetgroup: 2", + "alignmentgroup": "bottom", + "offsetgroup": "2", + "xaxis": "x2", + "tooltiptemplate": "x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + } + ], + "layout": { + "showlegend": false, + "grid": { + "rows": 2, + "columns": 2, + "roworder": "bottom to top" + }, + "colorway": ["blue", "orange", "green"], + "margin": { "t": 20 }, + "xaxis": { + "title": { + "text": "no alignmentgroup
no offsetgroup" + } + }, + "xaxis2": { + "title": { + "text": "with alignmentgroup
with offsetgroup" + } + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_bar_stack-with-gaps.json b/test/image/mocks/tooltip_tooltiptemplate_bar_stack-with-gaps.json new file mode 100644 index 00000000000..12c795400f5 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_bar_stack-with-gaps.json @@ -0,0 +1,81 @@ +{ + "data": [ + { + "x": ["A", "B", "C", "D", "E", "F", "G"], + "y": [null, null, null, null, 7, null, 6], + "name": "AA", + "type": "bar", + "tooltiptemplate": "%{value}
%{label}
%{fullData.name}
%{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "x": ["A", "B", "C", "D", "E", "F", "G"], + "y": [8, null, null, null, null, null], + "name": "BB", + "type": "bar", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}" + }, + { + "x": ["A", "B", "C", "D", "E", "F", "G"], + "y": [null, null, null, 1, 3, null], + "name": "CC", + "type": "bar", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}" + }, + { + "x": ["A", "B", "C", "D", "E", "F", "G"], + "y": [null, 4, 4, null, null, null], + "name": "DD", + "type": "bar", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}" + }, + { + "x": ["A", "B", "C", "D", "E", "F", "G"], + "y": [null, null, null, 8, null, null, 3], + "name": "EE", + "type": "bar", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}" + }, + { + "x": ["A", "B", "C", "D", "E", "F", "G"], + "y": [null, null, null, 2, null, null], + "name": "FF", + "type": "bar", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}" + }, + { + "x": ["A", "B", "C", "D", "E", "F", "G"], + "y": [null, null, null, null, null, 1], + "name": "GG", + "type": "bar", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}" + } + ], + "layout": { + "xaxis": { + "type": "category", + "range": [-0.5, 6.5], + "autorange": true + }, + "barmode": "stack", + "yaxis": { + "type": "linear", + "range": [0, 11.578947368421053], + "autorange": true + }, + "height": 450, + "width": 1100, + "autosize": true + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_box_grouped-multicategory.json b/test/image/mocks/tooltip_tooltiptemplate_box_grouped-multicategory.json new file mode 100644 index 00000000000..7b1926647df --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_box_grouped-multicategory.json @@ -0,0 +1,117 @@ +{ + "data":[ + { + "y":[ + 0.2, 0.2, 0.6, 1, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3, + 0.6, 0.7, 0.3, 0.6, 0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2, + 0.2, 0.2, 0.6, 1, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3 + ], + "x":[ + ["2016", "2016", "2016", "2016", "2016", "2016", + "2016", "2016", "2016", "2016", "2016", "2016", + "2017", "2017", "2017", "2017", "2017", "2017", + "2017", "2017", "2017", "2017", "2017", "2017", + "2018", "2018", "2018", "2018", "2018", "2018", + "2018", "2018", "2018", "2018", "2018", "2018"], + + ["day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2"] + ], + "name":"kale", + "marker":{ + "color":"#3D9970" + }, + "type":"box", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "y":[ + 0.6, 0.7, 0.3, 0.6, 0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2, + 0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1, 0.3, 0.6, 0.8, 0.5, + 0.6, 0.7, 0.3, 0.6, 0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2 + ], + "x":[ + ["2016", "2016", "2016", "2016", "2016", "2016", + "2016", "2016", "2016", "2016", "2016", "2016", + "2017", "2017", "2017", "2017", "2017", "2017", + "2017", "2017", "2017", "2017", "2017", "2017", + "2018", "2018", "2018", "2018", "2018", "2018", + "2018", "2018", "2018", "2018", "2018", "2018"], + + ["day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2"] + ], + "name":"radishes", + "marker":{ + "color":"#FF4136" + }, + "type":"box", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "y":[ + 0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1, 0.3, 0.6, 0.8, 0.5, + 0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1, 0.3, 0.6, 0.8, 0.5, + 0.2, 0.2, 0.6, 1, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3 + ], + "x":[ + ["2016", "2016", "2016", "2016", "2016", "2016", + "2016", "2016", "2016", "2016", "2016", "2016", + "2017", "2017", "2017", "2017", "2017", "2017", + "2017", "2017", "2017", "2017", "2017", "2017", + "2018", "2018", "2018", "2018", "2018", "2018", + "2018", "2018", "2018", "2018", "2018", "2018"], + + ["day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2", + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2"] + ], + "name":"carrots", + "marker":{ + "color":"#FF851B" + }, + "type":"box", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + } + ], + "layout":{ + "xaxis": { + "tickangle": 90 + }, + "yaxis":{ + "zeroline":false, + "title":{"text":"normalized moisture"} + }, + "boxmode":"group", + "legend": { + "x": 0, + "y": 1, + "yanchor": "bottom" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_funnel_horizontal_group_basic.json b/test/image/mocks/tooltip_tooltiptemplate_funnel_horizontal_group_basic.json new file mode 100644 index 00000000000..f61b286e833 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_funnel_horizontal_group_basic.json @@ -0,0 +1,83 @@ +{ + "data": [ + { + "name": "plotly.js", + "type": "funnel", + "orientation": "h", + "y": [ + "All tickets", + "Pull requests", + "Author: etpinard", + "Label: bug", + "Status: open" + ], + "x": [ + 3756, + 1580, + 663, + 343, + 1 + ], + "textposition": "inside", + "insidetextanchor": "start", + "textinfo": "value+percent initial", + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "name": "orca", + "type": "funnel", + "orientation": "h", + "y": [ + "All tickets", + "Pull requests", + "Author: etpinard", + "Label: bug", + "Status: open" + ], + "x": [ + 224, + 107, + 31, + 2, + 0 + ], + "textposition": "outside", + "textinfo": "label+value", + "marker": { + "line": { + "color": "rgb(255, 0, 0)", + "width": 2 + } + }, + "tooltiptemplate": "%{fullData.name}
%{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + } + ], + "layout": { + "font": { + "textcase": "word caps", + "lineposition": "under", + "shadow": "auto" + }, + "title": { + "text": "plotly repos | April 10 2019" + }, + "margin": { "l": 150 }, + "height": 800, + "width": 800, + "funnelmode": "group", + "showlegend": true + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_gl2d_scattergl_simple_line_reversed_ranges.json b/test/image/mocks/tooltip_tooltiptemplate_gl2d_scattergl_simple_line_reversed_ranges.json new file mode 100644 index 00000000000..b8310b1fe7c --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_gl2d_scattergl_simple_line_reversed_ranges.json @@ -0,0 +1,23 @@ +{ + "data": + [ + { "type": "scattergl", "mode": "lines", "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "y": [0, 1, 0, 7, 7, 0, 2, 4, 3, 0], "line": { "width": 10, "dash": "solid" }, + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"}}, + { "type": "scattergl", "mode": "lines", "y": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "x": [0, 1, 0, 7, 7, 0, 2, 4, 3, 0], "line": { "width": 10, "dash": "solid" }, + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"}} + ], + "layout": {"width":800, "height":600, "xaxis":{ "range": [-1, 11] }, "yaxis":{ "autorange": "reversed" }, "title": {"text": "simple scatter lines (without markers or text) with reversed ranges"} }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_heatmap.json b/test/image/mocks/tooltip_tooltiptemplate_heatmap.json new file mode 100644 index 00000000000..6563d594b37 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_heatmap.json @@ -0,0 +1,23 @@ +{ + "data": [ + {"z":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0.479425538604203,0.42073549240394825,0.2590347239999257,0.033913221008892595,-0.19951142125004898,-0.38408870938290723,-0.47462768589678817,-0.4489612516838977,-0.3133734449877386,-0.1010608896776051,0.13599489604735257,0.3397543882321063,0.4603301568291037,0.46820104845885746,0.36143999434346163,0.16618582395229636,-0.06975643207562429,-0.2886198806908126,-0.43681911654264977,-0.47806979806556316],[0.8414709848078965,0.7384602626041288,0.4546487134128409,0.059523302749876744,-0.35017548837401463,-0.6741391071468371,-0.833049961066805,-0.7880011308845267,-0.5500221413615028,-0.17737854894038602,0.23869349855450117,0.5963250528764563,0.8079554366909637,0.8217701511725654,0.6343868724111538,0.29168356226783737,-0.12243405673851628,-0.5065755486182741,-0.7666896787563757,-0.8390914362975802],[0.9974949866040544,0.8753842058167891,0.5389488413540798,0.0705600040299336,-0.41510438314691145,-0.7991367400579124,-0.9875125521345757,-0.9341108507444101,-0.6520062348371742,-0.21026775312939655,0.28295160788871765,0.7068945470133586,0.957765047219918,0.9741412606432601,0.752013719096941,0.34576699172034125,-0.14513555427481242,-0.6005038548040795,-0.9088478683732044,-0.9946742265870426],[0.9092974268256817,0.7979835653540055,0.49129549643388193,0.06432115545729157,-0.37840124765396416,-0.72847782813465,-0.9001976297355174,-0.8515176560872232,-0.5943564625123038,-0.1916760780080705,0.2579332953294609,0.6443916022321794,0.8730803709656549,0.8880086151442936,0.6855213799524474,0.3151946025542913,-0.13230280634522198,-0.5474078740297428,-0.8284884026347462,-0.9067260757315837],[0.5984721441039564,0.5252087174427744,0.3233558794572173,0.04233424474998412,-0.24905228953044703,-0.47946213733156917,-0.5924829320872974,-0.5604432415034112,-0.3911874992581194,-0.1261554140534463,0.16976391633539115,0.4241191192817572,0.574635170156555,0.5844604902748424,0.4511894986016438,0.2074515818868843,-0.0870777172006391,-0.36028735417588875,-0.545286081388122,-0.596779758359612],[0.1411200080598672,0.12384445820716831,0.07624746575887673,0.009982434469478687,-0.05872664492762098,-0.11305739348309445,-0.13970774909946293,-0.13215277525819374,-0.09224219304455371,-0.029747504914657785,0.04003040989885004,0.10000748425976688,0.13549923859094465,0.13781605361390525,0.10639069220927921,0.048917178846713476,-0.020532965943782493,-0.0849559245590183,-0.12857870990075454,-0.1407209427195081],[-0.35078322768961984,-0.30784124362403054,-0.18952898678057029,-0.024813423918728386,0.14597733051683126,0.2810277433044853,0.34727276334600926,0.32849329935939453,0.22928721908526792,0.07394363090774263,-0.09950393699028207,-0.24858947079196256,-0.33681163228288286,-0.3425705594746185,-0.2644562661410251,-0.12159385562138761,0.051038971488334264,0.21117567833135176,0.3196092141095956,0.3497912675127834],[-0.7568024953079282,-0.6641566726773585,-0.4089021333016356,-0.0535340907332177,0.3149409643133779,0.6063074873459349,0.7492287917633427,0.7087127576894708,0.4946791233116909,0.15953078700964363,-0.21467624978306993,-0.5363230535329319,-0.7266592688575256,-0.7390839520378132,-0.5705551073052852,-0.2623344734994043,0.11011478865374665,0.4556041101569482,0.6895456557448896,0.7546623760610064],[-0.977530117665097,-0.8578633849855334,-0.5281617766300059,-0.06914774506952932,0.40679606609588603,0.7831420127722354,0.9677474816893965,0.9154146157156391,0.6389563256138466,0.20605924262087827,-0.27728832953300614,-0.6927460478486331,-0.9385953732878621,-0.9546438166881925,-0.7369621593961925,-0.3388464630301511,0.1422306651692096,0.5884847660672846,0.8906572721083589,0.9747658151790043],[-0.9589242746631385,-0.8415352216177445,-0.5181089967534271,-0.06783161980090216,0.39905330338932815,0.7682360604393477,0.9493278367245317,0.8979910496137723,0.6267947350248265,0.20213720907119684,-0.2720105554446849,-0.6795606492879366,-0.9207305956792999,-0.9364735806462414,-0.7229351724130583,-0.3323970207275786,0.13952351438338687,0.5772838271206204,0.8737049255013992,0.9562125865948901],[-0.7055403255703919,-0.6191698864310322,-0.3812050647886408,-0.04990794829456958,0.2936083745425595,0.5652391273416245,0.6984796283637233,0.6607079560337191,0.4611719330711226,0.14872493695926334,-0.20013511068373355,-0.49999510327535174,-0.6774388566463158,-0.6890219514041658,-0.5319084419776275,-0.2445651949995204,0.10265614122383222,0.42474367381750155,0.6428391416071514,0.7035451677325225],[-0.27941549819892586,-0.2452101687412882,-0.1509688379721747,-0.019765070445179098,0.11627787565772676,0.2238519424669352,0.2766192466508119,0.2616605118210736,0.18263815796815594,0.05889961331619216,-0.07925961087140347,-0.19801331804211275,-0.26828645900021747,-0.2728737179777018,-0.21065197399062777,-0.09685528002621675,0.04065496443459431,0.16821145571036328,0.2545839160486248,0.2786253548137082],[0.21511998808781552,0.1887855502599316,0.11622982560217349,0.015216985980121653,-0.08952150252080339,-0.17234200503308583,-0.21296717407571455,-0.2014505514147513,-0.1406118079338568,-0.045346389862510876,0.06102140595781295,0.15244903340373075,0.20655182062650113,0.21008351841332046,0.16217944397370895,0.0745681854434869,-0.0312999655396857,-0.12950479333428241,-0.19600233108307993,-0.21451166236246624],[0.6569865987187891,0.5765599824312772,0.35497137421222796,0.04647339352654919,-0.27340289471069096,-0.5263406190634532,-0.650411803098649,-0.6152394938306449,-0.4294350992454181,-0.138490015292236,0.18636225441262333,0.46558654462642685,0.6308190108172687,0.6416049825779119,0.4953036778474351,0.22773475846024002,-0.09559157232538983,-0.3955137523331289,-0.5986003717453734,-0.6551287432365397],[0.9379999767747389,0.8231724226710855,0.5068035503556529,0.06635149352141535,-0.39034572301610065,-0.7514726927762542,-0.9286129388183836,-0.8783963509293159,-0.6131177011890242,-0.19772645497028388,0.2660751233763779,0.6647322318261614,0.9006397065778377,0.9160391702513835,0.707160297064443,0.32514392007855847,-0.13647902833320322,-0.5646871507364809,-0.8546401644865887,-0.9353474593526193],[0.9893582466233818,0.8682435446991146,0.5345525419802729,0.06998443381300311,-0.4117183045441479,-0.792618042771031,-0.979457240606921,-0.9264911461767628,-0.6466877066541816,-0.20855256252041027,0.2806435224432541,0.7011282853277887,0.949952391260276,0.9661950210643687,0.7458794124825067,0.3429465102709998,-0.14395165833253265,-0.5956054404866631,-0.9014342383437266,-0.986560496036106],[0.7984871126234903,0.7007383659325692,0.4314244281564648,0.056482743914709636,-0.33228788594192726,-0.6397028523748146,-0.7904962501294102,-0.7477485963317867,-0.5219260075081489,-0.16831772924064364,0.2265005994310005,0.5658636818773687,0.7666835998143197,0.7797926334913993,0.6019812342709254,0.2767838340714156,-0.11617990188246004,-0.4806987459397784,-0.7275257720361802,-0.7962291157897863],[0.4121184852417566,0.36166799608084055,0.222668567867006,0.02915210840153438,-0.1715018039159572,-0.3301660933003065,-0.40799420809968046,-0.38593111146079634,-0.2693786189182488,-0.08687284555673806,0.11690243019347103,0.2920559139175316,0.39570392410849203,0.4024698130208766,0.3106970550803082,0.1428548221174657,-0.05996325353583019,-0.2481002334319773,-0.375493623385838,-0.41095307853690777],[-0.0751511204618093,-0.06595131282380662,-0.04060432367408991,-0.005315979963660839,0.03127390104315517,0.060206840359177054,0.07439904536830741,0.07037576931385751,0.04912205049061451,0.015841540515865917,-0.021317531070207008,-0.05325732757540569,-0.07215787287591162,-0.07339165430259903,-0.05665659913258328,-0.02605003252693758,0.010934490567948442,0.0452418690181102,0.06847246006729521,0.07493860483147616]], + "x":[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5], + "y":[0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5], + "type":"heatmap", + "colorscale":"Viridis", + "tooltip":{"bgcolor":"rgba(255, 255, 255, 0.2)"}, + "tooltiptemplate": "x: %{x}
y: %{y}
amplitude: %{z}" + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_histogram.json b/test/image/mocks/tooltip_tooltiptemplate_histogram.json new file mode 100644 index 00000000000..b94327b575e --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_histogram.json @@ -0,0 +1,28 @@ +{ + "data": [{ + "name":"H1", + "x":[15.23921160702866,15.03624024253109,17.197213230383564,7.467288036989801,9.73118879555351,10.412133555738741,13.771539114987359,19.06527554952006,6.893448656421133,11.049577750887122,13.256892510523139,5.75315036856648,9.316709825863082,1.6269833164006098,18.641703507992695,11.751584767477825,16.317694590114698,16.462629247884376,18.481165427641738,6.066337228231702,15.30176001093007,14.242703415677054,5.252479334458437,5.537966466622146,10.332773687712724,14.74723097563124,15.945896551123065,0.7829495766325634,9.101356872626877,12.5992538760891,18.506589677349435,17.88311772298359,13.239650604461104,14.893573026174689,13.290944291798736,1.2002263131283186,9.095191132532289,1.0828712108895555,18.71571427987662,18.353955013977508,10.000145823485894,17.77534914439723,13.450935215307755,1.5633741222188102,11.023184693914668,1.1310347587465541,14.240214475316593,5.403764243212052,13.429120962894281,8.264091281946154,8.381692805334096,4.342360376842025,1.4326282407154456,0.6602555085308648,5.22207774108959,9.04441085507353,19.43525005320762,12.72165912107182,3.5073982130798442,2.1812404046032974,4.911810050113036,11.171412334479356,16.76936352413933,4.587344341274601,19.990084680470815,18.766364300875814,14.441083351837289,2.213347387568916,15.187481980048705,19.03820481209533,15.634336487448873,19.560340966478936,2.221945048102185,8.082876333318605,12.491339168223469,8.2620860149176,3.267562602664027,15.613002546991675,1.809684402449574,9.384835169858231,0.784701354499362,7.736720378466413,19.110503994209395,18.18815635436725,15.441766892507427,13.325460022521323,4.350130599007782,11.826798147970157,8.451710593669393,17.80921376484458,17.668898753220198,6.903996269297961,9.86587737515345,5.162452452761177,17.65180653562772,2.5023093246149486,4.186956795808792,13.576474411009098,10.300076652914514,14.713166745686575],"type":"histogram", + "tooltiptemplate":"Count: %{y}", + "tooltip": {"arrowcolor": "blue"}}, + {"name":"H2", + "x":[9.93930814479408,6.947631964344634,17.062657909316307,3.73745305647627,15.543332253916876,3.1717875672865214,1.3969395969400167,15.608368228140527,17.972102731028897,4.877437062932676,11.950697341929747,14.702979150022193,17.98722627222531,9.415151324090367,2.379402843949645,9.089357239971005,3.906445818222959,9.803104299504337,2.317716581150142,12.977275997656292,13.893794949388585,2.222428675530259,8.134836005844193,19.179300974916124,1.3425381870022757,19.649105422231806,9.893775272091752,7.371183440448359,0.27498466058639925,3.853254647701112,2.2831144402916514,1.222410379215635,11.947313843023302,11.725935566611039,12.234343111660277,18.676696610837254,15.454687173696737,0.26488259169332284,12.177910392641264,5.530213776191529,19.308693706427256,16.741687983862395,0.060315868468214795,5.285004836361562,8.832697108525254,12.275305474270251,14.959162079353053,6.868602059440054,18.973035635072225,2.039133745285364,1.4505708229303438,3.069641847044282,11.517687737749307,10.627295696440092,11.541368584461926,3.3607961789277074,18.512014444966994,15.650505737453138,14.615832288776687,1.361979674930609,14.079978058649953,6.340703907023045,18.294478020790464,12.301252209774836,8.692325117952702,18.850035958133404,17.913326644123476,1.5447007535622492,10.011912383417524,19.34533193110649,18.34520495610937,7.784744458265072,16.36577042855992,18.694860395751075,15.0677456305028,11.037614113035337,7.567991150976702,13.67595565969121,14.983411976986885,12.574852617001051,7.999559224808497,4.809315125646185,10.26138678181902,4.645200208941967,2.9927516792900843,6.255038768512384,2.4272073816674533,12.859923027804392,19.112860962334402,13.00012061300225,13.156848215858972,11.794865433749424,1.0931884007895198,7.298685335549413,15.288012059956333,18.18117897572211,3.195928865142803,8.286669053735697,9.727089201212294,2.3263730235563873], + "type":"histogram", + "tooltiptemplate":"Count: %{y}", + "tooltip": {"arrowcolor": "blue"}}, + {"name":"H3", + "x":[8.424847346078977,17.769072475845338,7.404715350280213,1.140877389941386,9.438453569956607,11.182233136392437,9.545039196399177,9.14597545430418,10.488737669653476,19.16470146724785,2.409862031362404,10.129222991006632,0.7716117210389695,11.782743219231893,3.804822597114792,15.303807958215554,16.821666392002538,19.244097661018962,16.921367819419682,6.664076239755465,10.669268449481027,1.5764306149059348,1.4780159947925942,3.5192161527392707,0.19113234471882512,12.084188168832426,15.261335985626443,5.934792395469755,2.1976755919672497,3.2213231440892987,3.9529742691982306,15.09743133471514,19.363879386687223,12.131947595591509,14.202769090916158,19.824831980780683,3.082381009141948,14.116081633148713,16.47901142501033,7.510953351893281,18.910455180283,5.834796703989092,0.022478918711370532,11.58065158386449,15.846224695275783,19.745393645005844,16.069135935179823,19.226963772917955,4.978611871564493,3.50657141755909,18.130906598003932,5.256984870183883,9.078685336477747,19.20192771761044,17.490811185485256,3.8895480322011178,4.819236830946778,17.22244071088553,3.378124836925054,10.145299297006803,1.7018508220566497,10.27783823401175,10.269951697176634,3.250872850842401,13.341488434398743,9.444781580461308,17.125993928951463,17.28747991548027,11.255649620975356,2.057505420204757,18.1702342467505,15.808877858798205,5.220621339893723,9.841506215340367,18.57975812198436,5.9255025186409505,19.87374605757019,16.617764729821364,2.217621216290948,9.745573270895768,12.549014911867943,18.812301299687043,14.332163481167981,15.961659751233352,2.8520219827170767,3.765096216495225,14.215534095320127,16.609619105562565,11.722974958077376,14.130186032209089,3.864782625533729,0.48025081170719686,12.627827226620479,8.147584101012235,17.737369254682918,19.963573895192425,4.902593225542393,19.253275747935813,2.1261282846532703,14.734260396715054],"type":"histogram", + "tooltiptemplate":"%{fullData.name}
x: %{x}
Count: %{y}
binNumber: %{binNumber}", + "tooltip": {"arrowcolor": "blue"}} + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_histogram2d.json b/test/image/mocks/tooltip_tooltiptemplate_histogram2d.json new file mode 100644 index 00000000000..449279643ba --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_histogram2d.json @@ -0,0 +1,21 @@ +{ + "data": [{ + "x":[8.132901936619547,13.214679103267024,3.914144654053613,12.922419585549976,4.1888176995687925,8.499123226280215,14.009586941141146,18.894050687659014,9.188463163900362,4.9609409973139895,10.234305803164649,14.565882848107211,4.954709477373786,9.160510750591836,10.90412980942572,7.896610094229781,7.927735019175197,4.55358194893285,18.212329597213593,5.643866024285722,13.62086476746084,8.57534248375621,0.07254456054489156,4.901098755027982,17.081641492217663,10.884250081490158,19.527225700689478,5.11960284895161,4.151131625531683,17.935517851547907,19.63474642722774,12.600542580560198,16.404709718746727,1.1028720734790576,5.101564974349535,1.6722369801654624,5.12336393337362,4.007039848812404,0.7484086749278318,10.030348511723117,2.5777845504388197,5.930458414675337,7.425896322603894,10.58118939091859,16.211877557208982,15.656941048659373,3.5312013362110473,6.50801778686607,6.600465050576235,10.139560535121177,7.28754120077733,3.610815645479122,2.4985407885092448,16.904014398827872,12.705796600991238,6.024030477715019,1.0519954704558443,4.672836773936389,15.932820926127306,2.058918014182527,16.557178123167418,12.942480412391786,13.02337891376406,14.702627364362172,1.0349415732642675,4.076752054690418,3.1097643593655677,14.189115947486782,5.93590560616033,0.6905157203289258,10.63565910099821,5.497412379926827,9.880142262940964,7.0265372283541545,16.725239453348944,13.553421637209087,19.557477457479063,2.1968808343440194,4.764260513089871,19.685417234279257,18.455709498892585,7.959053264711901,16.794357459692,4.412012772963932,14.69164569422805,3.2604545556974673,5.192592270033116,17.201383863886456,13.06410101424973,0.6296958414815745,5.110582142500086,12.656554299838582,18.12114416898687,7.781907739280958,14.35996588041383,15.671550784627605,6.140863529899512,13.74767435602668,5.410555888787343,10.404848816837902,12.633145584715539,19.227613459740244,0.19282636449261314,8.275192403004159,12.65890248721913,19.3136593006213,17.125805476808438,4.562929653967183,16.10702821890535,0.8859776643704187,1.7610456832207655,0.056253484135628806,16.1421592073381,5.125970221625278,12.046704173203505,1.6556846509563483,6.064619492756227,14.156354720372104,18.888738044062418,14.308516457353242,16.362352636668398,15.332139018581257,1.050225035314154,18.46769034186377,8.87358937960521,15.453388241633103,3.1482492192628975,3.9688990859783146,11.679540263919947,7.895493186400584,1.0798086131708629,15.433870455328249,13.131189863524009,9.952149806295083,0.7029798403593746,7.40039691957548,9.330913150593167,13.304458999348054,11.371817714413691,9.471640159455676,14.559838105562253,16.086723438518515,7.420055358381504,9.525514615836034,17.601644417165588,0.0075823225782367665,7.571847199999335,12.64865689712568,7.219918893650652,19.05367735269829,2.6041849238613546,18.38648769150436,2.8719071242850425,1.052856487078886,2.6300003256019977,1.8620641473096788,15.832850999734971,17.579337980726006,6.180520503567351,0.7302306386574142,10.82980196479938,11.274768935933238,14.722140851034052,8.07432518529118,0.4286626460587306,3.8100876293244035,13.166474228114403,11.696754362525901,4.945044045345575,7.955435397828059,17.73299658369425,16.421954157997405,17.219375497055054,16.954120695912568,11.072509253249237,6.736944308536992,15.422527633451065,13.781941413952534,17.248539527180363,7.640131199083409,8.673724688819632,17.950862780038147,13.226875052548,4.225242791442909,0.7786665506829027,12.494982785406064,8.260235365697312,8.243642378652394,18.59921919968177,15.928576839674626,1.1117742771361239,0.5869550624719211,3.3110251703535365,19.054682612159674,18.100060561105813,14.690620585596347,4.231190319294605,3.557023945108164,14.885128275511143,1.8658406595290833], + "y":[12.17630732636692,15.031754224908777,3.7324981978657057,17.40846052763926,14.196768955681643,5.557465474902948,1.7531522644785857,14.33102972363412,3.622641153282631,0.15162740790972462,0.10456177162243563,16.753665518972852,3.941033592840748,4.536481259490415,14.003705648071636,2.5005991403833128,16.31925929003102,0.48348864239804445,15.622061966354284,8.70422537493319,1.4023900157205071,4.9500287070758535,3.399159319520655,1.2508771421369347,2.9569974792823683,19.554421865172124,3.198877099083828,3.20534036139416,10.70586519461353,1.201574767964293,6.386590344411007,3.03487150655815,4.623003989648207,14.292805197107551,16.605149402675966,2.439720459926815,16.685906792044054,12.945718380784577,4.943259304277663,5.350707941897424,5.022412486132444,8.17370731939176,13.711403468665718,17.00739887734268,9.806373721804452,11.261832569606776,6.429092104896073,14.030740694486447,14.789738546040539,17.129673236901226,2.1545754317155796,1.4235559832581446,10.990386611485734,16.433957904546972,0.8055732537515392,15.391413973128994,5.410865162874221,1.0626250673243098,3.7375489387158045,7.443936434674221,15.957777501505966,14.424264533142832,18.546992623519984,4.87718366705357,17.144411292941932,14.325294837857331,2.8400154539169864,11.314015645567274,9.956285394887374,16.294799478654706,10.88289687140329,0.05880932205168499,13.249154547138293,18.46042023391388,3.955611991259258,16.726603523076708,8.199958228183098,11.05547629914759,18.017908841225022,4.045201166933186,1.409195137497108,10.653950979210183,2.6950660749086164,14.131078060165725,4.157057144621739,3.4816480639017056,2.3603293691651506,2.1011600772290606,0.8593508816277473,7.933174163056266,3.6711874715361192,7.581771001303497,11.522961678439806,18.775487679983232,15.84779341335051,10.996151650485885,9.27238895469153,5.252948555208881,19.724297034665025,8.815951709527639,5.642326755021223,3.913227963349384,5.650101550746287,16.294724796669374,3.766268559116206,6.34362436746197,11.92157138739529,3.5801763407030096,15.214581765609294,4.7128537046870385,16.523496521484187,13.940637560761235,12.310223237746833,4.576255125005979,9.397350410026599,15.586868703276162,17.406521765534656,15.261557225389705,10.450298216473648,16.34013049475801,19.818995457679012,14.11429197672944,0.5155010383909842,3.7676986185307304,9.496387829128391,12.67894717713488,8.252778135232939,19.006529442776117,10.221884838616212,6.616693030878338,18.761256973232687,10.550669597383704,1.3437648130710578,17.167117274548577,14.479253067028477,1.12367496584455,8.946802119884234,16.72523982212797,3.5914952586640836,8.868385080017953,1.8556780653495308,8.29295094269548,3.284519877219272,0.474001340573178,6.181925785774713,16.446560175681043,19.988220676027623,17.226861189550988,4.830429894700985,12.037841879882407,9.929992916507313,1.0716744152775282,13.401196743677131,8.78713210099562,11.532483967609599,18.179298179609663,14.515077788464325,10.336431418835634,18.381357710951146,16.964068291306617,2.8811025140280733,12.63978907128884,10.091342364835075,1.943087344088592,16.918668266475397,7.002530877677455,0.04330309619935191,6.387621430474124,13.292628111401148,19.422909783367096,18.782585287265448,3.033997246118585,9.202427785965588,9.333631991716928,19.441004145092116,10.079617798007217,3.4586310522952335,0.6061203294315498,16.706359390672464,1.444529010100537,4.738071159147468,5.727546720030716,1.8915481135889922,0.5352329206186979,19.287086624799016,19.72414245901527,11.872639874342031,10.568527331181638,17.939449202833185,0.5972306562550211,16.79050721861802,9.811896854823356,10.10593751578278,3.7260028798772904,5.163313221099662,19.192173788796914,1.642107824201131,5.043189905309571,4.824799509568223,12.761366769432582], + "type":"histogram2d", + "colorscale":"Blues", + "tooltiptemplate":"x: %{x}
y: %{y}
Count: %{z}", + "tooltip": {"bgcolor":"rgba(255, 255, 255, 0.2)"} + }], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_histogram2dcontour_legend-coloraxis.json b/test/image/mocks/tooltip_tooltiptemplate_histogram2dcontour_legend-coloraxis.json new file mode 100644 index 00000000000..0f74e3a7839 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_histogram2dcontour_legend-coloraxis.json @@ -0,0 +1,62 @@ +{ + "data": [ + { + "showlegend": true, + "coloraxis": "coloraxis", + "x": [ + "apples", + "apples", + "apples", + "apples", + "lemons", + "lemons" + ], + "y": [ + "red", + "red", + "yellow", + "green", + "yellow", + "yellow" + ], + "z": [ + "1", + "2", + "3", + "4", + "5", + "6" + ], + "histfunc": "sum", + "type": "histogram2dcontour", + "name": "histogram2dcontour", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}
z: %{z}", + "tooltip": {"bgcolor":"rgba(255, 255, 255, 0.2)"} + } + ], + "layout": { + "coloraxis": { + "colorscale": [[0, "blue"], [1, "red"]], + "reversescale": true, + "showscale": false + }, + "title": {"text": "histogram2dcontour legend with coloraxis"}, + "margin": { + "t": 125, + "b": 25 + }, + "width": 600, + "height": 400 + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_histogram_horizontal.json b/test/image/mocks/tooltip_tooltiptemplate_histogram_horizontal.json new file mode 100644 index 00000000000..520a92ce49f --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_histogram_horizontal.json @@ -0,0 +1,25 @@ +{ + "data": [{ + "name":"H1", + "y":[15.23921160702866,15.03624024253109,17.197213230383564,7.467288036989801,9.73118879555351,10.412133555738741,13.771539114987359,19.06527554952006,6.893448656421133,11.049577750887122,13.256892510523139,5.75315036856648,9.316709825863082,1.6269833164006098,18.641703507992695,11.751584767477825,16.317694590114698,16.462629247884376,18.481165427641738,6.066337228231702,15.30176001093007,14.242703415677054,5.252479334458437,5.537966466622146,10.332773687712724,14.74723097563124,15.945896551123065,0.7829495766325634,9.101356872626877,12.5992538760891,18.506589677349435,17.88311772298359,13.239650604461104,14.893573026174689,13.290944291798736,1.2002263131283186,9.095191132532289,1.0828712108895555,18.71571427987662,18.353955013977508,10.000145823485894,17.77534914439723,13.450935215307755,1.5633741222188102,11.023184693914668,1.1310347587465541,14.240214475316593,5.403764243212052,13.429120962894281,8.264091281946154,8.381692805334096,4.342360376842025,1.4326282407154456,0.6602555085308648,5.22207774108959,9.04441085507353,19.43525005320762,12.72165912107182,3.5073982130798442,2.1812404046032974,4.911810050113036,11.171412334479356,16.76936352413933,4.587344341274601,19.990084680470815,18.766364300875814,14.441083351837289,2.213347387568916,15.187481980048705,19.03820481209533,15.634336487448873,19.560340966478936,2.221945048102185,8.082876333318605,12.491339168223469,8.2620860149176,3.267562602664027,15.613002546991675,1.809684402449574,9.384835169858231,0.784701354499362,7.736720378466413,19.110503994209395,18.18815635436725,15.441766892507427,13.325460022521323,4.350130599007782,11.826798147970157,8.451710593669393,17.80921376484458,17.668898753220198,6.903996269297961,9.86587737515345,5.162452452761177,17.65180653562772,2.5023093246149486,4.186956795808792,13.576474411009098,10.300076652914514,14.713166745686575],"type":"histogram", + "tooltiptemplate":"%{fullData.name}
y: %{y}
Count: %{x}"}, + {"name":"H2", + "y":[9.93930814479408,6.947631964344634,17.062657909316307,3.73745305647627,15.543332253916876,3.1717875672865214,1.3969395969400167,15.608368228140527,17.972102731028897,4.877437062932676,11.950697341929747,14.702979150022193,17.98722627222531,9.415151324090367,2.379402843949645,9.089357239971005,3.906445818222959,9.803104299504337,2.317716581150142,12.977275997656292,13.893794949388585,2.222428675530259,8.134836005844193,19.179300974916124,1.3425381870022757,19.649105422231806,9.893775272091752,7.371183440448359,0.27498466058639925,3.853254647701112,2.2831144402916514,1.222410379215635,11.947313843023302,11.725935566611039,12.234343111660277,18.676696610837254,15.454687173696737,0.26488259169332284,12.177910392641264,5.530213776191529,19.308693706427256,16.741687983862395,0.060315868468214795,5.285004836361562,8.832697108525254,12.275305474270251,14.959162079353053,6.868602059440054,18.973035635072225,2.039133745285364,1.4505708229303438,3.069641847044282,11.517687737749307,10.627295696440092,11.541368584461926,3.3607961789277074,18.512014444966994,15.650505737453138,14.615832288776687,1.361979674930609,14.079978058649953,6.340703907023045,18.294478020790464,12.301252209774836,8.692325117952702,18.850035958133404,17.913326644123476,1.5447007535622492,10.011912383417524,19.34533193110649,18.34520495610937,7.784744458265072,16.36577042855992,18.694860395751075,15.0677456305028,11.037614113035337,7.567991150976702,13.67595565969121,14.983411976986885,12.574852617001051,7.999559224808497,4.809315125646185,10.26138678181902,4.645200208941967,2.9927516792900843,6.255038768512384,2.4272073816674533,12.859923027804392,19.112860962334402,13.00012061300225,13.156848215858972,11.794865433749424,1.0931884007895198,7.298685335549413,15.288012059956333,18.18117897572211,3.195928865142803,8.286669053735697,9.727089201212294,2.3263730235563873], + "type":"histogram", + "tooltiptemplate":"%{fullData.name}
y: %{y}
Count: %{x}"}, + {"name":"H3", + "y":[8.424847346078977,17.769072475845338,7.404715350280213,1.140877389941386,9.438453569956607,11.182233136392437,9.545039196399177,9.14597545430418,10.488737669653476,19.16470146724785,2.409862031362404,10.129222991006632,0.7716117210389695,11.782743219231893,3.804822597114792,15.303807958215554,16.821666392002538,19.244097661018962,16.921367819419682,6.664076239755465,10.669268449481027,1.5764306149059348,1.4780159947925942,3.5192161527392707,0.19113234471882512,12.084188168832426,15.261335985626443,5.934792395469755,2.1976755919672497,3.2213231440892987,3.9529742691982306,15.09743133471514,19.363879386687223,12.131947595591509,14.202769090916158,19.824831980780683,3.082381009141948,14.116081633148713,16.47901142501033,7.510953351893281,18.910455180283,5.834796703989092,0.022478918711370532,11.58065158386449,15.846224695275783,19.745393645005844,16.069135935179823,19.226963772917955,4.978611871564493,3.50657141755909,18.130906598003932,5.256984870183883,9.078685336477747,19.20192771761044,17.490811185485256,3.8895480322011178,4.819236830946778,17.22244071088553,3.378124836925054,10.145299297006803,1.7018508220566497,10.27783823401175,10.269951697176634,3.250872850842401,13.341488434398743,9.444781580461308,17.125993928951463,17.28747991548027,11.255649620975356,2.057505420204757,18.1702342467505,15.808877858798205,5.220621339893723,9.841506215340367,18.57975812198436,5.9255025186409505,19.87374605757019,16.617764729821364,2.217621216290948,9.745573270895768,12.549014911867943,18.812301299687043,14.332163481167981,15.961659751233352,2.8520219827170767,3.765096216495225,14.215534095320127,16.609619105562565,11.722974958077376,14.130186032209089,3.864782625533729,0.48025081170719686,12.627827226620479,8.147584101012235,17.737369254682918,19.963573895192425,4.902593225542393,19.253275747935813,2.1261282846532703,14.734260396715054],"type":"histogram", + "tooltiptemplate":"%{fullData.name}
y: %{y}
Count: %{x}"} + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_scatter.json b/test/image/mocks/tooltip_tooltiptemplate_scatter.json new file mode 100644 index 00000000000..192b4845ca4 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_scatter.json @@ -0,0 +1,67 @@ +{ + "data": [ + { + "name": "Scatter Trace 1", + "x": [ + "2025-04-01T12:00:00.000Z", + "2025-04-01T19:00:00.000Z", + "2025-04-02T02:00:00.000Z", + "2025-04-02T09:00:00.000Z", + "2025-04-02T16:00:00.000Z" + ], + "y": [ + 18.653706196862725, + 4.688822683080214, + 14.917280752096753, + 4.600558128027796, + 9.333771080586484 + ], + "type": "scatter", + "tooltiptemplate": "(with tooltiptemplate)
%{fullData.name}
%{x|%H:%M:%S}
y: %{y:.2e}", + "tooltip": { + "align": "left", + "arrowcolor": "blue", + "arrowhead": 2, + "arrowsize": 1.2, + "arrowwidth": 1, + "font": { + "color": "red", + "family": "Arial", + "size": 16 + }, + "showarrow": true, + "xanchor": "left" + } + }, + { + "name": "Scatter Trace 2", + "x": [ + "2025-04-01T12:00:00.000Z", + "2025-04-01T19:00:00.000Z", + "2025-04-02T02:00:00.000Z", + "2025-04-02T09:00:00.000Z", + "2025-04-02T16:00:00.000Z" + ], + "y": [ + 3.3719225986580192, + 2.9853095383720873, + 18.9892710479482, + 17.60752687975191, + 2.5038703600044876 + ], + "type": "scatter", + "tooltiptemplate": "%{fullData.name}
%{x|%H:%M:%S}
y: %{y:.2e}" + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_scattercarpet-on-two-carpets.json b/test/image/mocks/tooltip_tooltiptemplate_scattercarpet-on-two-carpets.json new file mode 100644 index 00000000000..82863e9c6d6 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_scattercarpet-on-two-carpets.json @@ -0,0 +1,92 @@ +{ + "data": [ + { + "type": "carpet", + "a": [ 4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6 ], + "b": [ 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3 ], + "y": [ 2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10 ], + "aaxis": { + "tickprefix": "a = ", + "ticksuffix": "m", + "smoothing": 1, + "minorgridcount": 9 + }, + "baxis": { + "tickprefix": "b = ", + "ticksuffix": "Pa", + "smoothing": 1, + "minorgridcount": 9 + }, + "carpet": "c0" + }, + { + "type": "carpet", + "a": [ 4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6 ], + "b": [ 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3 ], + "y": [ 22, 23.5, 24, 23, 24.5, 25, 25.5, 26.5, 27.5, 28, 28.5, 30 ], + "aaxis": { + "tickprefix": "a = ", + "ticksuffix": "m", + "smoothing": 1, + "minorgridcount": 9 + }, + "baxis": { + "tickprefix": "b = ", + "ticksuffix": "Pa", + "smoothing": 1, + "minorgridcount": 9 + }, + "carpet": "c1" + }, + { + "type": "scattercarpet", + "a": [ 4, 4.5, 5, 6 ], + "b": [ 2.5, 2.5, 2.5, 2.5 ], + "line": { + "shape": "spline", + "smoothing": 1, + "color": "blue" + }, + "mode": "lines+markers", + "marker": { + "size": 15, + "symbol": "arrow", + "angleref": "previous" + }, + "carpet": "c0", + "tooltiptemplate": "a: %{a}
b: %{b}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "scattercarpet", + "a": [ 4, 4.5, 5, 6 ], + "b": [ 2.5, 2.5, 2.5, 2.5 ], + "line": { + "shape": "spline", + "smoothing": 1, + "color": "red" + }, + "mode": "lines+markers", + "marker": { + "size": 15, + "symbol": "arrow", + "angle": 90, + "angleref": "previous" + }, + "carpet": "c1", + "tooltiptemplate": "a: %{a}
b: %{b}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_simple_contour.json b/test/image/mocks/tooltip_tooltiptemplate_simple_contour.json new file mode 100644 index 00000000000..92abe9b013d --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_simple_contour.json @@ -0,0 +1,10426 @@ +{ + "data": [ + { + "z": [ + [ + -2.26419383564e-17, + 5.11137762735e-17, + 2.29068249466e-17, + -4.64445515358e-17, + -2.71681363064e-17, + 3.52782392146e-17, + 3.12812458983e-17, + -1.85388995493e-17, + -2.90565613908e-17, + 1.62852812196e-18, + 1.69838675383e-17, + 5.15034857713e-18, + -1.80243342064e-18, + 4.4691901237e-18, + 1.1378292691e-18, + -1.68428473888e-17, + -2.26504780047e-17, + 1.73890813469e-18, + 3.51288100042e-17, + 3.96423531438e-17, + 4.67616037607e-18, + -4.07835618714e-17, + -5.71950096717e-17, + -3.0471630867e-17, + 1.8935669033e-17, + 5.61695341475e-17, + 5.89042177312e-17, + 2.96000565994e-17, + -1.13892013359e-17, + -4.18150884809e-17, + -5.00475678101e-17, + -3.80142393833e-17, + -1.62198610649e-17, + 3.7708393162e-18, + 1.47612757809e-17, + 1.55091916512e-17, + 9.2438950339e-18, + 9.45270970304e-19, + -5.02910953514e-18, + -6.20566802174e-18, + -2.14529422973e-18, + 6.10761678723e-18, + 1.680449779e-17, + 2.81639504362e-17, + 3.878527871e-17, + 4.77997994234e-17, + 5.48315413037e-17, + 5.98566544058e-17, + 6.30351653884e-17, + 6.45621795067e-17, + 6.45621795067e-17, + 6.30351653884e-17, + 5.98566544058e-17, + 5.48315413037e-17, + 4.77997994234e-17, + 3.878527871e-17, + 2.81639504362e-17, + 1.680449779e-17, + 6.10761678723e-18, + -2.14529422973e-18, + -6.20566802174e-18, + -5.02910953514e-18, + 9.45270970304e-19, + 9.2438950339e-18, + 1.55091916512e-17, + 1.47612757809e-17, + 3.7708393162e-18, + -1.62198610649e-17, + -3.80142393833e-17, + -5.00475678101e-17, + -4.18150884809e-17, + -1.13892013359e-17, + 2.96000565994e-17, + 5.89042177312e-17, + 5.61695341475e-17, + 1.8935669033e-17, + -3.0471630867e-17, + -5.71950096717e-17, + -4.07835618714e-17, + 4.67616037607e-18, + 3.96423531438e-17, + 3.51288100042e-17, + 1.73890813469e-18, + -2.26504780047e-17, + -1.68428473888e-17, + 1.1378292691e-18, + 4.4691901237e-18, + -1.80243342064e-18, + 5.15034857713e-18, + 1.69838675383e-17, + 1.62852812196e-18, + -2.90565613908e-17, + -1.85388995493e-17, + 3.12812458983e-17, + 3.52782392146e-17, + -2.71681363064e-17, + -4.64445515358e-17, + 2.29068249466e-17, + 5.11137762735e-17, + -2.26419383564e-17 + ], + [ + 0.0266325682552, + 0.0112819715197, + -0.0258396324984, + -0.0126430958126, + 0.0217665292197, + 0.0152358579043, + -0.0143734135825, + -0.0162013012304, + 0.00507666015618, + 0.0125468901498, + 0.00185133935869, + -0.0046072883364, + -0.00111433209215, + -0.000782670903964, + -0.00633009424671, + -0.00513632427357, + 0.00747493904712, + 0.0173949834257, + 0.00954855542713, + -0.0117467098724, + -0.0261787231336, + -0.0187984518422, + 0.00545427133115, + 0.0273719333746, + 0.0306924919559, + 0.0140787896954, + -0.0103708090981, + -0.0276312283782, + -0.0295929217232, + -0.0180525660439, + -0.00114262279354, + 0.0126029032463, + 0.0184986396858, + 0.0166668651864, + 0.0104358760495, + 0.00388838708379, + -0.0000234079976273, + -0.000221792647614, + 0.00273726192057, + 0.00739968390306, + 0.0121755176724, + 0.015856345386, + 0.0178233671179, + 0.0180136340288, + 0.0167575317222, + 0.0145870014444, + 0.0120756731898, + 0.00973398858679, + 0.00795615127314, + 0.00700306048606, + 0.00700306048606, + 0.00795615127314, + 0.00973398858679, + 0.0120756731898, + 0.0145870014444, + 0.0167575317222, + 0.0180136340288, + 0.0178233671179, + 0.015856345386, + 0.0121755176724, + 0.00739968390306, + 0.00273726192057, + -0.000221792647614, + -0.0000234079976273, + 0.00388838708379, + 0.0104358760495, + 0.0166668651864, + 0.0184986396858, + 0.0126029032463, + -0.00114262279354, + -0.0180525660439, + -0.0295929217232, + -0.0276312283782, + -0.0103708090981, + 0.0140787896954, + 0.0306924919559, + 0.0273719333746, + 0.00545427133115, + -0.0187984518422, + -0.0261787231336, + -0.0117467098724, + 0.00954855542713, + 0.0173949834257, + 0.00747493904712, + -0.00513632427357, + -0.00633009424671, + -0.000782670903964, + -0.00111433209215, + -0.0046072883364, + 0.00185133935869, + 0.0125468901498, + 0.00507666015618, + -0.0162013012304, + -0.0143734135825, + 0.0152358579043, + 0.0217665292197, + -0.0126430958126, + -0.0258396324984, + 0.0112819715197, + 0.0266325682552 + ], + [ + 0.024266179731, + -0.0525348824234, + -0.0245264672664, + 0.0476832593255, + 0.0288222873104, + -0.0360593354494, + -0.0328646078072, + 0.0187001449329, + 0.0302818701327, + -0.00129147461524, + -0.0175575172945, + -0.00548953984885, + 0.0018353451137, + -0.00466450297704, + -0.00138215083286, + 0.0173336214637, + 0.0237737294228, + -0.00125618116878, + -0.0362244969703, + -0.0416064936461, + -0.00569572683366, + 0.0418532313052, + 0.0597244422396, + 0.0326062880649, + -0.0187551868448, + -0.0580964023733, + -0.0617435106133, + -0.0317490915377, + 0.0109427152628, + 0.043067134408, + 0.0522130308581, + 0.0400996713113, + 0.0175319269468, + -0.00341069050986, + -0.0150978413342, + -0.0160923045532, + -0.00966848449775, + -0.000995920405358, + 0.00534938957967, + 0.00673030068597, + 0.00263308851218, + -0.00589042373094, + -0.01703087304, + -0.0289251606864, + -0.0400951161023, + -0.0496127207278, + -0.0570645947366, + -0.0624084171755, + -0.0657985092257, + -0.0674304971649, + -0.0674304971649, + -0.0657985092257, + -0.0624084171755, + -0.0570645947366, + -0.0496127207278, + -0.0400951161023, + -0.0289251606864, + -0.01703087304, + -0.00589042373094, + 0.00263308851218, + 0.00673030068597, + 0.00534938957967, + -0.000995920405359, + -0.00966848449775, + -0.0160923045532, + -0.0150978413342, + -0.00341069050986, + 0.0175319269468, + 0.0400996713113, + 0.0522130308581, + 0.043067134408, + 0.0109427152628, + -0.0317490915377, + -0.0617435106133, + -0.0580964023733, + -0.0187551868448, + 0.0326062880649, + 0.0597244422396, + 0.0418532313052, + -0.00569572683366, + -0.0416064936461, + -0.0362244969703, + -0.00125618116878, + 0.0237737294228, + 0.0173336214637, + -0.00138215083286, + -0.00466450297704, + 0.0018353451137, + -0.00548953984885, + -0.0175575172945, + -0.00129147461524, + 0.0302818701327, + 0.0187001449329, + -0.0328646078072, + -0.0360593354494, + 0.0288222873104, + 0.0476832593255, + -0.0245264672664, + -0.0525348824234, + 0.024266179731 + ], + [ + -0.0759141069589, + -0.0396612193267, + 0.0735727745134, + 0.0431309571058, + -0.0610333181189, + -0.0494462103595, + 0.0386736424994, + 0.0502611821142, + -0.0114371961838, + -0.0373703541842, + -0.00759055331138, + 0.0130182258965, + 0.00352762464551, + 0.00176684965644, + 0.018639875881, + 0.01733617193, + -0.0193778272339, + -0.0518778148282, + -0.0327376690014, + 0.0299772168441, + 0.0772470036253, + 0.0609881945262, + -0.00909803202975, + -0.0776632511362, + -0.0937412002729, + -0.0489429103235, + 0.0235409696394, + 0.0786534994387, + 0.0896544159059, + 0.0590729103178, + 0.00967299985075, + -0.0328537612921, + -0.0531962867268, + -0.0502481994144, + -0.0330274958592, + -0.0135654603748, + -0.0010901854082, + 0.000544480422946, + -0.00755492392208, + -0.0213566185554, + -0.0361619664876, + -0.0482231025708, + -0.0554654885085, + -0.0574734181445, + -0.0550571252439, + -0.0496984306358, + -0.0430672137974, + -0.0366893528883, + -0.0317662224951, + -0.0291044254715, + -0.0291044254715, + -0.0317662224951, + -0.0366893528883, + -0.0430672137974, + -0.0496984306358, + -0.0550571252439, + -0.0574734181445, + -0.0554654885085, + -0.0482231025708, + -0.0361619664876, + -0.0213566185554, + -0.00755492392208, + 0.000544480422946, + -0.0010901854082, + -0.0135654603748, + -0.0330274958592, + -0.0502481994145, + -0.0531962867268, + -0.032853761292, + 0.00967299985075, + 0.0590729103178, + 0.0896544159059, + 0.0786534994387, + 0.0235409696394, + -0.0489429103235, + -0.0937412002729, + -0.0776632511362, + -0.00909803202975, + 0.0609881945262, + 0.0772470036253, + 0.0299772168441, + -0.0327376690014, + -0.0518778148282, + -0.0193778272339, + 0.01733617193, + 0.018639875881, + 0.00176684965644, + 0.00352762464551, + 0.0130182258965, + -0.00759055331138, + -0.0373703541842, + -0.0114371961838, + 0.0502611821142, + 0.0386736424994, + -0.0494462103595, + -0.0610333181189, + 0.0431309571058, + 0.0735727745134, + -0.0396612193267, + -0.0759141069589 + ], + [ + -0.0617155293165, + 0.0948961763657, + 0.0618054169741, + -0.0848230488047, + -0.0678338897137, + 0.060983691684, + 0.0715107329077, + -0.0269658709889, + -0.0613274293135, + -0.00458127527938, + 0.0328747482517, + 0.0132090717242, + -0.00291866827564, + 0.00946218444421, + 0.00625176303977, + -0.0306367288864, + -0.0502489605065, + -0.00741518289701, + 0.0647619747438, + 0.087282165606, + 0.0258851607968, + -0.0704980284661, + -0.118958599712, + -0.0788243296068, + 0.0189700683932, + 0.104826772064, + 0.125860048861, + 0.077435694418, + -0.00442269904122, + -0.0734812901002, + -0.100943071008, + -0.0852418047501, + -0.0446949014181, + -0.00287340909883, + 0.0234559609746, + 0.0291431645409, + 0.0188640869099, + 0.00206920056086, + -0.0120022011547, + -0.0173693674209, + -0.0121121875623, + 0.00241569895732, + 0.0230414064799, + 0.0461650239442, + 0.0687097966044, + 0.0885559721577, + 0.104564371373, + 0.116356992702, + 0.124007208386, + 0.127746245743, + 0.127746245743, + 0.124007208386, + 0.116356992702, + 0.104564371373, + 0.0885559721577, + 0.0687097966044, + 0.0461650239442, + 0.0230414064799, + 0.00241569895732, + -0.0121121875623, + -0.0173693674209, + -0.0120022011547, + 0.00206920056086, + 0.0188640869099, + 0.0291431645409, + 0.0234559609746, + -0.00287340909883, + -0.0446949014181, + -0.0852418047501, + -0.100943071008, + -0.0734812901002, + -0.00442269904122, + 0.077435694418, + 0.125860048861, + 0.104826772064, + 0.0189700683932, + -0.0788243296068, + -0.118958599712, + -0.0704980284661, + 0.0258851607968, + 0.087282165606, + 0.0647619747438, + -0.00741518289701, + -0.0502489605065, + -0.0306367288864, + 0.00625176303977, + 0.00946218444421, + -0.00291866827564, + 0.0132090717242, + 0.0328747482517, + -0.00458127527938, + -0.0613274293135, + -0.0269658709889, + 0.0715107329077, + 0.060983691684, + -0.0678338897137, + -0.0848230488047, + 0.0618054169741, + 0.0948961763657, + -0.0617155293165 + ], + [ + 0.106050239301, + 0.0879015604124, + -0.102325990628, + -0.0909389740964, + 0.0807019172559, + 0.0950366175843, + -0.0438754268251, + -0.0876996341545, + 0.00270994646265, + 0.0589452353564, + 0.0206243391329, + -0.0175760656371, + -0.00642723365617, + -0.000424289000745, + -0.0284351500794, + -0.0357886362113, + 0.0183792743299, + 0.0817850492759, + 0.0694193972043, + -0.0260288601063, + -0.118115357712, + -0.116600914008, + -0.0157941453259, + 0.105355971013, + 0.156490089905, + 0.106087531791, + -0.00581334290736, + -0.107499723508, + -0.14638075659, + -0.114605197308, + -0.0416048753315, + 0.031393024241, + 0.0748320906439, + 0.0808222299097, + 0.0596558238303, + 0.0295251838119, + 0.00662099160356, + -0.000352925693844, + 0.00919648511301, + 0.0302645579685, + 0.055709389992, + 0.0790853644725, + 0.0961960547666, + 0.105432751443, + 0.10731744779, + 0.103713713628, + 0.0970458940323, + 0.0897015021157, + 0.0836567538336, + 0.0802858020076, + 0.0802858020076, + 0.0836567538336, + 0.0897015021157, + 0.0970458940323, + 0.103713713628, + 0.10731744779, + 0.105432751443, + 0.0961960547666, + 0.0790853644725, + 0.055709389992, + 0.0302645579685, + 0.00919648511301, + -0.000352925693844, + 0.00662099160356, + 0.0295251838119, + 0.0596558238303, + 0.0808222299097, + 0.0748320906439, + 0.031393024241, + -0.0416048753315, + -0.114605197308, + -0.14638075659, + -0.107499723508, + -0.00581334290736, + 0.106087531791, + 0.156490089905, + 0.105355971013, + -0.0157941453259, + -0.116600914008, + -0.118115357712, + -0.0260288601063, + 0.0694193972043, + 0.0817850492759, + 0.0183792743299, + -0.0357886362113, + -0.0284351500794, + -0.000424289000745, + -0.00642723365617, + -0.0175760656371, + 0.0206243391329, + 0.0589452353564, + 0.00270994646265, + -0.0876996341545, + -0.0438754268251, + 0.0950366175843, + 0.0807019172559, + -0.0909389740964, + -0.102325990628, + 0.0879015604124, + 0.106050239301 + ], + [ + 0.121776367438, + -0.107389992978, + -0.120773294629, + 0.0921099056337, + 0.122550642145, + -0.0568192602361, + -0.116134638414, + 0.0105892580812, + 0.0885266153997, + 0.025338903802, + -0.0404475755559, + -0.0245040850856, + 0.00212790042206, + -0.0136836021822, + -0.0180260988626, + 0.0324792763436, + 0.077893361401, + 0.0367392470445, + -0.0707395064511, + -0.133570278182, + -0.0748885358023, + 0.0640036746269, + 0.165879388514, + 0.146978072714, + 0.0227451309235, + -0.116889893417, + -0.183005587452, + -0.145884593179, + -0.0404632696512, + 0.0692172460255, + 0.132210618675, + 0.132992165067, + 0.088450509583, + 0.0300334865451, + -0.014759066592, + -0.0326371479424, + -0.0251370025436, + -0.00310415202557, + 0.020302945714, + 0.0348267136183, + 0.0353885197884, + 0.0218679681231, + -0.00249760673704, + -0.0330171077458, + -0.0650681603531, + -0.0949802419464, + -0.120321376296, + -0.139773738197, + -0.152806030723, + -0.159309925957, + -0.159309925957, + -0.152806030723, + -0.139773738197, + -0.120321376296, + -0.0949802419464, + -0.0650681603531, + -0.0330171077458, + -0.00249760673704, + 0.0218679681231, + 0.0353885197884, + 0.0348267136183, + 0.020302945714, + -0.00310415202557, + -0.0251370025436, + -0.0326371479424, + -0.014759066592, + 0.0300334865451, + 0.088450509583, + 0.132992165067, + 0.132210618675, + 0.0692172460255, + -0.0404632696512, + -0.145884593179, + -0.183005587452, + -0.116889893417, + 0.0227451309235, + 0.146978072714, + 0.165879388514, + 0.0640036746269, + -0.0748885358023, + -0.133570278182, + -0.0707395064511, + 0.0367392470445, + 0.077893361401, + 0.0324792763436, + -0.0180260988626, + -0.0136836021822, + 0.00212790042206, + -0.0245040850856, + -0.0404475755559, + 0.025338903802, + 0.0885266153997, + 0.0105892580812, + -0.116134638414, + -0.0568192602361, + 0.122550642145, + 0.0921099056337, + -0.120773294629, + -0.107389992978, + 0.121776367438 + ], + [ + -0.0931677098643, + -0.156263045743, + 0.088713543881, + 0.154534856811, + -0.0596569863707, + -0.146613681345, + 0.0136699847255, + 0.119487731767, + 0.0300424976406, + -0.0680373626904, + -0.0425438332602, + 0.0138636970908, + 0.00928514232238, + -0.00464018922833, + 0.0306784816264, + 0.0596009738617, + 0.00534141450789, + -0.0940981395156, + -0.118677151129, + -0.0163974812743, + 0.127772615139, + 0.178697018243, + 0.0840691462324, + -0.0836012103319, + -0.198741322064, + -0.185199685103, + -0.0620270048189, + 0.0870606864801, + 0.178926717089, + 0.178626818793, + 0.105716918112, + 0.00900134370754, + -0.0657781487792, + -0.0960794698846, + -0.0850452031845, + -0.05178000933, + -0.0184204677309, + -0.000715398343769, + -0.00450336713872, + -0.02705196913, + -0.0607900791825, + -0.0971684090728, + -0.129345825231, + -0.153374085266, + -0.1681747049, + -0.174826233493, + -0.175632553326, + -0.173277077345, + -0.170196420382, + -0.168185474717, + -0.168185474717, + -0.170196420382, + -0.173277077345, + -0.175632553326, + -0.174826233493, + -0.1681747049, + -0.153374085266, + -0.129345825231, + -0.0971684090728, + -0.0607900791825, + -0.02705196913, + -0.00450336713872, + -0.00071539834377, + -0.0184204677309, + -0.05178000933, + -0.0850452031845, + -0.0960794698846, + -0.0657781487792, + 0.00900134370754, + 0.105716918112, + 0.178626818793, + 0.178926717089, + 0.0870606864801, + -0.0620270048189, + -0.185199685103, + -0.198741322064, + -0.0836012103319, + 0.0840691462324, + 0.178697018243, + 0.127772615139, + -0.0163974812743, + -0.118677151129, + -0.0940981395156, + 0.00534141450789, + 0.0596009738617, + 0.0306784816264, + -0.00464018922833, + 0.00928514232238, + 0.0138636970908, + -0.0425438332602, + -0.0680373626904, + 0.0300424976406, + 0.119487731767, + 0.0136699847255, + -0.146613681345, + -0.0596569863707, + 0.154534856811, + 0.088713543881, + -0.156263045743, + -0.0931677098643 + ], + [ + -0.1911989951, + 0.0641127489257, + 0.188099468007, + -0.0460440211374, + -0.177648497018, + 0.00593194815502, + 0.149636063692, + 0.0393365216261, + -0.0963767027713, + -0.061239610825, + 0.0314135223921, + 0.036447369173, + 0.0014411598273, + 0.0149272323704, + 0.0358393420063, + -0.0141065935314, + -0.0943449708575, + -0.0869997812013, + 0.0356938171195, + 0.158807003923, + 0.149341665925, + -0.000981310049461, + -0.169450251805, + -0.219825749208, + -0.115861444431, + 0.0641052621724, + 0.200869403331, + 0.220367363782, + 0.129380214552, + -0.00767002771803, + -0.118546665217, + -0.162255304027, + -0.139629473661, + -0.0799782340625, + -0.0190718068604, + 0.0180015293646, + 0.0233517995375, + 0.00357384026303, + -0.0274411267246, + -0.0556279421721, + -0.0712606389449, + -0.0703935310597, + -0.0540506035967, + -0.0263655499097, + 0.00733812298568, + 0.041972383534, + 0.0734591955502, + 0.0989507676246, + 0.116696819497, + 0.125763595254, + 0.125763595254, + 0.116696819497, + 0.0989507676246, + 0.0734591955502, + 0.041972383534, + 0.00733812298568, + -0.0263655499097, + -0.0540506035967, + -0.0703935310597, + -0.0712606389449, + -0.0556279421721, + -0.0274411267246, + 0.00357384026303, + 0.0233517995375, + 0.0180015293646, + -0.0190718068604, + -0.0799782340625, + -0.139629473661, + -0.162255304027, + -0.118546665217, + -0.00767002771803, + 0.129380214552, + 0.220367363782, + 0.200869403331, + 0.0641052621724, + -0.115861444431, + -0.219825749208, + -0.169450251805, + -0.000981310049461, + 0.149341665925, + 0.158807003923, + 0.0356938171195, + -0.0869997812013, + -0.0943449708575, + -0.0141065935314, + 0.0358393420063, + 0.0149272323704, + 0.0014411598273, + 0.036447369173, + 0.0314135223921, + -0.061239610825, + -0.0963767027713, + 0.0393365216261, + 0.149636063692, + 0.00593194815502, + -0.177648497018, + -0.0460440211374, + 0.188099468007, + 0.0641127489257, + -0.1911989951 + ], + [ + 0.0145592148561, + 0.215280011178, + -0.0108991355521, + -0.204400612524, + -0.0180299478421, + 0.175301909469, + 0.0581904268036, + -0.121034364561, + -0.083201992563, + 0.0496823811541, + 0.0657016359855, + 0.00177334333886, + -0.0102264619472, + 0.0128887082088, + -0.0183693244176, + -0.0773381860847, + -0.0532198507055, + 0.0678532229191, + 0.157971467522, + 0.0984056026773, + -0.0767679111476, + -0.211908897163, + -0.183892833406, + -0.0104876252541, + 0.177754458922, + 0.251490048263, + 0.173694804339, + 0.00656718911082, + -0.147901120524, + -0.216004601764, + -0.184790645813, + -0.0916878214027, + 0.00853984182372, + 0.0744120525238, + 0.0917396651213, + 0.0706780084067, + 0.0336230460718, + 0.00263930901053, + -0.00834738962765, + 0.00446330105363, + 0.0369231379545, + 0.0808121990523, + 0.127450437481, + 0.170047356526, + 0.204640928761, + 0.229964218051, + 0.24672249799, + 0.256693501802, + 0.261911882018, + 0.264055433043, + 0.264055433043, + 0.261911882018, + 0.256693501802, + 0.24672249799, + 0.229964218051, + 0.204640928761, + 0.170047356526, + 0.127450437481, + 0.0808121990523, + 0.0369231379545, + 0.00446330105363, + -0.00834738962765, + 0.00263930901053, + 0.0336230460718, + 0.0706780084067, + 0.0917396651213, + 0.0744120525238, + 0.00853984182372, + -0.0916878214027, + -0.184790645813, + -0.216004601764, + -0.147901120524, + 0.00656718911082, + 0.173694804339, + 0.251490048263, + 0.177754458922, + -0.0104876252541, + -0.183892833406, + -0.211908897163, + -0.0767679111476, + 0.0984056026773, + 0.157971467522, + 0.0678532229191, + -0.0532198507055, + -0.0773381860847, + -0.0183693244176, + 0.0128887082088, + -0.0102264619472, + 0.00177334333886, + 0.0657016359855, + 0.0496823811541, + -0.083201992563, + -0.121034364561, + 0.0581904268036, + 0.175301909469, + -0.0180299478421, + -0.204400612524, + -0.0108991355521, + 0.215280011178, + 0.0145592148561 + ], + [ + 0.223005029797, + 0.0466540142473, + -0.217622931618, + -0.0609766815485, + 0.190022877202, + 0.0900851806467, + -0.136424253695, + -0.111156077619, + 0.0626835109121, + 0.0964964987032, + 0.00086414680681, + -0.0401489749899, + -0.00727910256712, + -0.00973308273203, + -0.0506495184876, + -0.0268274750857, + 0.077247230302, + 0.135970202016, + 0.0470276223213, + -0.125358896183, + -0.211705572502, + -0.116254985745, + 0.0902958113399, + 0.243619628603, + 0.230062323653, + 0.0666225077293, + -0.131951487361, + -0.246931813455, + -0.229265238393, + -0.111164099244, + 0.032416071053, + 0.13397200525, + 0.163937099624, + 0.132579120594, + 0.0727558176332, + 0.0187385658434, + -0.00797934443791, + -0.00261652491448, + 0.0267322312434, + 0.0661149811609, + 0.102094986988, + 0.125567204377, + 0.13285351843, + 0.124891354226, + 0.105562983219, + 0.0799895299435, + 0.0532392691772, + 0.0295713663874, + 0.0121311280851, + 0.00292822159173, + 0.00292822159173, + 0.0121311280851, + 0.0295713663874, + 0.0532392691772, + 0.0799895299435, + 0.105562983219, + 0.124891354226, + 0.13285351843, + 0.125567204377, + 0.102094986988, + 0.0661149811609, + 0.0267322312434, + -0.00261652491448, + -0.00797934443791, + 0.0187385658434, + 0.0727558176332, + 0.132579120594, + 0.163937099624, + 0.13397200525, + 0.032416071053, + -0.111164099244, + -0.229265238393, + -0.246931813455, + -0.131951487361, + 0.0666225077293, + 0.230062323653, + 0.243619628603, + 0.0902958113399, + -0.116254985745, + -0.211705572502, + -0.125358896183, + 0.0470276223213, + 0.135970202016, + 0.077247230302, + -0.0268274750857, + -0.0506495184876, + -0.00973308273203, + -0.00727910256712, + -0.0401489749899, + 0.00086414680681, + 0.0964964987032, + 0.0626835109121, + -0.111156077619, + -0.136424253695, + 0.0900851806467, + 0.190022877202, + -0.0609766815485, + -0.217622931618, + 0.0466540142473, + 0.223005029797 + ], + [ + 0.119255112047, + -0.204743768666, + -0.119988551508, + 0.184418494003, + 0.134641229637, + -0.135380868315, + -0.145747092763, + 0.063876038415, + 0.128252305155, + 0.00459293730167, + -0.0708005740898, + -0.0262781867055, + 0.00669462421658, + -0.0199151521615, + -0.0107665055955, + 0.0678489137351, + 0.104830459044, + 0.0086983968601, + -0.143530155429, + -0.183438433477, + -0.0449638503964, + 0.160533163938, + 0.255669096429, + 0.159657686299, + -0.0542706608997, + -0.234450967434, + -0.270380923032, + -0.157579618335, + 0.0223327339412, + 0.168994810244, + 0.222403423937, + 0.182292974159, + 0.090614961268, + -0.000851264826913, + -0.0564258982702, + -0.0662815764288, + -0.0418645781765, + -0.00450330962945, + 0.0255239099888, + 0.0354826513788, + 0.0217021117295, + -0.0123463017782, + -0.0593521011287, + -0.111252647907, + -0.161295022931, + -0.204937988695, + -0.239848977345, + -0.265376285568, + -0.281836111503, + -0.289848007878, + -0.289848007878, + -0.281836111503, + -0.265376285568, + -0.239848977345, + -0.204937988695, + -0.161295022931, + -0.111252647907, + -0.0593521011287, + -0.0123463017782, + 0.0217021117295, + 0.0354826513788, + 0.0255239099888, + -0.00450330962945, + -0.0418645781765, + -0.0662815764288, + -0.0564258982702, + -0.000851264826912, + 0.090614961268, + 0.182292974159, + 0.222403423937, + 0.168994810244, + 0.0223327339412, + -0.157579618335, + -0.270380923032, + -0.234450967434, + -0.0542706608997, + 0.159657686299, + 0.255669096429, + 0.160533163938, + -0.0449638503964, + -0.183438433477, + -0.143530155429, + 0.0086983968601, + 0.104830459044, + 0.0678489137351, + -0.0107665055955, + -0.0199151521615, + 0.00669462421658, + -0.0262781867055, + -0.0708005740898, + 0.00459293730167, + 0.128252305155, + 0.063876038415, + -0.145747092763, + -0.135380868315, + 0.134641229637, + 0.184418494003, + -0.119988551508, + -0.204743768666, + 0.119255112047 + ], + [ + -0.154484272701, + -0.183300900387, + 0.148493098025, + 0.184977836459, + -0.110122273275, + -0.183250166383, + 0.0468486811057, + 0.158355129973, + 0.0187713626929, + -0.0980410051566, + -0.0475143525222, + 0.0247805455767, + 0.0120421086119, + -0.00290804560144, + 0.0460660071506, + 0.0728861716626, + -0.012047544557, + -0.137180410463, + -0.144120438414, + 0.0108794515654, + 0.193197264301, + 0.22841926283, + 0.0736510977993, + -0.151447260648, + -0.278597390871, + -0.225278451803, + -0.0393532181058, + 0.15680400948, + 0.257255387121, + 0.229468312324, + 0.112883862925, + -0.021255915686, + -0.113794291509, + -0.141211986115, + -0.114624190436, + -0.0638419132449, + -0.0192816823084, + -0.000205039056934, + -0.0115030050754, + -0.046818910492, + -0.0943042078555, + -0.141956807477, + -0.18099012794, + -0.207030387537, + -0.219714790521, + -0.221476937102, + -0.216168468776, + -0.20790029514, + -0.200241218752, + -0.195750593505, + -0.195750593505, + -0.200241218752, + -0.20790029514, + -0.216168468776, + -0.221476937102, + -0.219714790521, + -0.207030387537, + -0.18099012794, + -0.141956807477, + -0.0943042078555, + -0.046818910492, + -0.0115030050754, + -0.000205039056934, + -0.0192816823084, + -0.0638419132449, + -0.114624190436, + -0.141211986115, + -0.113794291509, + -0.021255915686, + 0.112883862925, + 0.229468312324, + 0.257255387121, + 0.15680400948, + -0.0393532181058, + -0.225278451803, + -0.278597390871, + -0.151447260648, + 0.0736510977993, + 0.22841926283, + 0.193197264301, + 0.0108794515654, + -0.144120438414, + -0.137180410463, + -0.012047544557, + 0.0728861716626, + 0.0460660071506, + -0.00290804560144, + 0.0120421086119, + 0.0247805455767, + -0.0475143525222, + -0.0980410051566, + 0.0187713626929, + 0.158355129973, + 0.0468486811057, + -0.183250166383, + -0.110122273275, + 0.184977836459, + 0.148493098025, + -0.183300900387, + -0.154484272701 + ], + [ + -0.229520162352, + 0.0771429282543, + 0.226131401144, + -0.0555141755942, + -0.213918729608, + 0.00724851485504, + 0.180515076154, + 0.0474183278032, + -0.116501071014, + -0.0740386874673, + 0.0380683770796, + 0.0441707994327, + 0.00174248153028, + 0.0181359036904, + 0.0435633875443, + -0.0172150974749, + -0.115003885597, + -0.106111890448, + 0.0436964316364, + 0.194312012371, + 0.182872335161, + -0.00132602291533, + -0.208215328523, + -0.270359894098, + -0.142591850999, + 0.0792117193511, + 0.248208801621, + 0.2725952572, + 0.160192276919, + -0.00964191258737, + -0.147402084704, + -0.201953770457, + -0.173995732479, + -0.0997663078581, + -0.0237808890111, + 0.0225699227679, + 0.0292832005663, + 0.0044859341099, + -0.0344801070165, + -0.0699664864563, + -0.0897085893952, + -0.0886807613687, + -0.0681164678748, + -0.0331904138912, + 0.00939358961031, + 0.0532045291403, + 0.0930713191475, + 0.125370923929, + 0.147868376591, + 0.159366457086, + 0.159366457086, + 0.147868376591, + 0.125370923929, + 0.0930713191475, + 0.0532045291403, + 0.00939358961031, + -0.0331904138912, + -0.0681164678748, + -0.0886807613687, + -0.0897085893952, + -0.0699664864563, + -0.0344801070165, + 0.0044859341099, + 0.0292832005663, + 0.0225699227679, + -0.0237808890111, + -0.0997663078581, + -0.173995732479, + -0.201953770457, + -0.147402084704, + -0.00964191258737, + 0.160192276919, + 0.2725952572, + 0.248208801621, + 0.0792117193511, + -0.142591850999, + -0.270359894098, + -0.208215328523, + -0.00132602291532, + 0.182872335161, + 0.194312012371, + 0.0436964316364, + -0.106111890448, + -0.115003885597, + -0.0172150974749, + 0.0435633875443, + 0.0181359036904, + 0.00174248153028, + 0.0441707994327, + 0.0380683770796, + -0.0740386874673, + -0.116501071014, + 0.0474183278032, + 0.180515076154, + 0.00724851485503, + -0.213918729608, + -0.0555141755942, + 0.226131401144, + 0.0771429282543, + -0.229520162352 + ], + [ + -0.0222017499811, + 0.237052861202, + 0.0254582785081, + -0.222518133766, + -0.0537004598141, + 0.184569900955, + 0.0903509830606, + -0.119113914862, + -0.106274420731, + 0.0400922655326, + 0.0752674777609, + 0.00907286597133, + -0.0104873469527, + 0.0165515906935, + -0.0122798084027, + -0.084556236525, + -0.0751089056246, + 0.0545588261503, + 0.174750152153, + 0.136318960443, + -0.0517627225872, + -0.225980701332, + -0.230273926299, + -0.0554662553399, + 0.166861586892, + 0.28250317356, + 0.227115402555, + 0.0517477280447, + -0.13298220317, + -0.234533480601, + -0.223795610731, + -0.132350248236, + -0.019321650548, + 0.0643669160569, + 0.0958068381898, + 0.0806482174189, + 0.0414701149404, + 0.00361928931881, + -0.0147992249304, + -0.00663230534082, + 0.025690752158, + 0.0740502746743, + 0.128741249087, + 0.18144188859, + 0.226661454811, + 0.261909805006, + 0.28707840388, + 0.303503933815, + 0.31304470207, + 0.31734452268, + 0.31734452268, + 0.31304470207, + 0.303503933815, + 0.28707840388, + 0.261909805006, + 0.226661454811, + 0.18144188859, + 0.128741249087, + 0.0740502746743, + 0.025690752158, + -0.00663230534082, + -0.0147992249304, + 0.00361928931881, + 0.0414701149404, + 0.0806482174189, + 0.0958068381898, + 0.0643669160569, + -0.019321650548, + -0.132350248236, + -0.223795610731, + -0.234533480601, + -0.13298220317, + 0.0517477280447, + 0.227115402555, + 0.28250317356, + 0.166861586892, + -0.0554662553399, + -0.230273926299, + -0.225980701332, + -0.0517627225872, + 0.136318960443, + 0.174750152153, + 0.0545588261503, + -0.0751089056246, + -0.084556236525, + -0.0122798084027, + 0.0165515906935, + -0.0104873469527, + 0.00907286597133, + 0.0752674777609, + 0.0400922655326, + -0.106274420731, + -0.119113914862, + 0.0903509830606, + 0.184569900955, + -0.0537004598141, + -0.222518133766, + 0.0254582785081, + 0.237052861202, + -0.0222017499811 + ], + [ + 0.198686721862, + 0.116286870828, + -0.19302169541, + -0.125117720237, + 0.159096678741, + 0.14044094009, + -0.0984193975723, + -0.139902417079, + 0.0252891420517, + 0.102048028759, + 0.0241021101284, + -0.0345665350641, + -0.0100316744351, + -0.00395431083593, + -0.0511197674244, + -0.0512985460285, + 0.0490587989453, + 0.144425613444, + 0.0983667260784, + -0.0755830515628, + -0.215430548307, + -0.179803882712, + 0.0137660482277, + 0.213229590138, + 0.269844308947, + 0.151061981369, + -0.0547899025412, + -0.219017582945, + -0.260057680838, + -0.179234734835, + -0.0386922293189, + 0.0871850386311, + 0.151397420357, + 0.147597383551, + 0.099988038762, + 0.0432542395061, + 0.00523569682854, + -0.00140239680036, + 0.0212911520492, + 0.0621102167674, + 0.107273333444, + 0.145363339415, + 0.169712050583, + 0.178574374314, + 0.173977055665, + 0.160117693526, + 0.141909250596, + 0.123941427018, + 0.10988521774, + 0.102233732408, + 0.102233732408, + 0.10988521774, + 0.123941427018, + 0.141909250596, + 0.160117693526, + 0.173977055665, + 0.178574374314, + 0.169712050583, + 0.145363339415, + 0.107273333444, + 0.0621102167674, + 0.0212911520492, + -0.00140239680036, + 0.00523569682854, + 0.0432542395061, + 0.099988038762, + 0.147597383551, + 0.151397420357, + 0.0871850386311, + -0.0386922293189, + -0.179234734835, + -0.260057680838, + -0.219017582945, + -0.0547899025412, + 0.151061981369, + 0.269844308947, + 0.213229590138, + 0.0137660482277, + -0.179803882712, + -0.215430548307, + -0.0755830515628, + 0.0983667260784, + 0.144425613444, + 0.0490587989453, + -0.0512985460285, + -0.0511197674243, + -0.00395431083593, + -0.0100316744351, + -0.0345665350641, + 0.0241021101284, + 0.102048028759, + 0.0252891420517, + -0.139902417079, + -0.0984193975723, + 0.14044094009, + 0.159096678741, + -0.125117720237, + -0.19302169541, + 0.116286870828, + 0.198686721862 + ], + [ + 0.186592161012, + -0.118181254995, + -0.184874420413, + 0.0976637484, + 0.182225224618, + -0.0503662516383, + -0.164830469573, + -0.00875569925012, + 0.118111827693, + 0.0490396071216, + -0.0484641806866, + -0.0372960749453, + 0.00115794924253, + -0.0184474577687, + -0.0317100809421, + 0.0342593882476, + 0.109986394679, + 0.0714437621227, + -0.0774374457489, + -0.188596188844, + -0.133782466841, + 0.0561578782644, + 0.223193154365, + 0.230625512744, + 0.0738464293345, + -0.132812170209, + -0.255518978683, + -0.232510152755, + -0.0967468100314, + 0.065317194947, + 0.174221193093, + 0.196139185513, + 0.145889347608, + 0.0651829690563, + -0.00425820094111, + -0.0382472143771, + -0.0340904936372, + -0.00455276759569, + 0.0318120513076, + 0.0588307290326, + 0.0670429398572, + 0.0542928170038, + 0.0239444766516, + -0.0177315194522, + -0.0638879687555, + -0.108624724429, + -0.147653485078, + -0.17831051172, + -0.199202528876, + -0.209740206364, + -0.209740206364, + -0.199202528876, + -0.17831051172, + -0.147653485078, + -0.108624724429, + -0.0638879687555, + -0.0177315194522, + 0.0239444766516, + 0.0542928170038, + 0.0670429398572, + 0.0588307290326, + 0.0318120513076, + -0.00455276759569, + -0.0340904936372, + -0.0382472143771, + -0.00425820094111, + 0.0651829690563, + 0.145889347608, + 0.196139185513, + 0.174221193093, + 0.065317194947, + -0.0967468100314, + -0.232510152755, + -0.255518978683, + -0.132812170209, + 0.0738464293345, + 0.230625512744, + 0.223193154365, + 0.0561578782644, + -0.133782466841, + -0.188596188844, + -0.0774374457489, + 0.0714437621227, + 0.109986394679, + 0.0342593882476, + -0.0317100809421, + -0.0184474577687, + 0.00115794924253, + -0.0372960749453, + -0.0484641806866, + 0.0490396071216, + 0.118111827693, + -0.00875569925012, + -0.164830469573, + -0.0503662516383, + 0.182225224618, + 0.0976637484, + -0.184874420413, + -0.118181254995, + 0.186592161012 + ], + [ + -0.0106711046146, + -0.204871561077, + 0.00727693514149, + 0.194772078744, + 0.0200318009085, + -0.16695595189, + -0.0579140607036, + 0.114903248252, + 0.0811352373904, + -0.0465758218086, + -0.0635474922297, + -0.00230532189528, + 0.00982199695791, + -0.0126795773725, + 0.0171588291395, + 0.0751317714079, + 0.0532207550055, + -0.0645376174387, + -0.154577876358, + -0.0988069352954, + 0.0726634073298, + 0.20804238387, + 0.18384330275, + 0.0140797040749, + -0.173868822321, + -0.250543634309, + -0.176194550644, + -0.0103353408445, + 0.145690620174, + 0.216775292371, + 0.187918733935, + 0.0953046378149, + -0.00620239209805, + -0.0740831436717, + -0.0929841680615, + -0.0724083051687, + -0.0347992485685, + -0.00276952582211, + 0.0090675098136, + -0.00360861480582, + -0.0368563734037, + -0.0823621865657, + -0.131160592364, + -0.176115139625, + -0.212960272069, + -0.240222207069, + -0.258504749314, + -0.269567691626, + -0.275475887118, + -0.277950040409, + -0.277950040409, + -0.275475887118, + -0.269567691626, + -0.258504749314, + -0.240222207069, + -0.212960272069, + -0.176115139625, + -0.131160592364, + -0.0823621865657, + -0.0368563734037, + -0.00360861480582, + 0.0090675098136, + -0.00276952582212, + -0.0347992485685, + -0.0724083051687, + -0.0929841680615, + -0.0740831436717, + -0.00620239209805, + 0.0953046378149, + 0.187918733935, + 0.216775292371, + 0.145690620174, + -0.0103353408445, + -0.176194550644, + -0.250543634309, + -0.173868822321, + 0.0140797040749, + 0.18384330275, + 0.20804238387, + 0.0726634073298, + -0.0988069352954, + -0.154577876358, + -0.0645376174387, + 0.0532207550055, + 0.0751317714079, + 0.0171588291395, + -0.0126795773725, + 0.00982199695791, + -0.00230532189528, + -0.0635474922297, + -0.0465758218086, + 0.0811352373904, + 0.114903248252, + -0.0579140607036, + -0.16695595189, + 0.0200318009085, + 0.194772078744, + 0.00727693514148, + -0.204871561077, + -0.0106711046146 + ], + [ + -0.165520409298, + -0.0863476864373, + 0.161121673389, + 0.0943730852048, + -0.134330176572, + -0.108808844795, + 0.0856192000756, + 0.11126889029, + -0.0255587564676, + -0.0832576356039, + -0.0168757495146, + 0.0292072647216, + 0.00792298159024, + 0.00400905555143, + 0.0421983596714, + 0.0392900878282, + -0.0442917775343, + -0.118686879468, + -0.0750026276309, + 0.0693272637352, + 0.178843334165, + 0.141542591833, + -0.0215438643226, + -0.182221698722, + -0.220605556628, + -0.115439822599, + 0.0562472068828, + 0.187867869922, + 0.214882931758, + 0.142052205379, + 0.0231271392697, + -0.0800854274238, + -0.130017417488, + -0.123266759171, + -0.0813175761141, + -0.0334933473026, + -0.00265715559637, + 0.00136482166701, + -0.0189660668921, + -0.0537704762751, + -0.0913214087295, + -0.122128913441, + -0.140836368246, + -0.14626537939, + -0.140377374371, + -0.126892659046, + -0.110060716818, + -0.0937991722608, + -0.0812133098771, + -0.0743985392091, + -0.0743985392091, + -0.0812133098771, + -0.0937991722608, + -0.110060716818, + -0.126892659046, + -0.140377374371, + -0.14626537939, + -0.140836368246, + -0.122128913441, + -0.0913214087295, + -0.0537704762751, + -0.0189660668921, + 0.00136482166701, + -0.00265715559637, + -0.0334933473026, + -0.0813175761141, + -0.123266759171, + -0.130017417488, + -0.0800854274238, + 0.0231271392697, + 0.142052205379, + 0.214882931758, + 0.187867869922, + 0.0562472068828, + -0.115439822599, + -0.220605556628, + -0.182221698722, + -0.0215438643226, + 0.141542591833, + 0.178843334165, + 0.0693272637352, + -0.0750026276309, + -0.118686879468, + -0.0442917775343, + 0.0392900878282, + 0.0421983596714, + 0.00400905555143, + 0.00792298159024, + 0.0292072647216, + -0.0168757495146, + -0.0832576356039, + -0.0255587564676, + 0.11126889029, + 0.0856192000756, + -0.108808844795, + -0.134330176572, + 0.0943730852048, + 0.161121673389, + -0.0863476864373, + -0.165520409298 + ], + [ + -0.144805005289, + 0.0823503234318, + 0.14346592155, + -0.0669927404302, + -0.140350851031, + 0.0316282049982, + 0.125329990134, + 0.0119184511941, + -0.0881561088642, + -0.0402069639631, + 0.0348739582022, + 0.0289383722693, + -0.000463666917007, + 0.013820755539, + 0.0255193910483, + -0.0234042775087, + -0.0836259447466, + -0.0588137455554, + 0.0537452508075, + 0.143493686868, + 0.10830923649, + -0.0347980480283, + -0.167389202061, + -0.181091213649, + -0.0660924340626, + 0.093622444767, + 0.194168933456, + 0.183702350393, + 0.0833252746706, + -0.042073271654, + -0.130075049281, + -0.151928967958, + -0.116672651238, + -0.0554461644604, + -0.000821851378641, + 0.0273522099695, + 0.025771379538, + 0.00353236688504, + -0.0251858090386, + -0.0475694196173, + -0.0557749132736, + -0.047624090006, + -0.025370425009, + 0.00627709925829, + 0.0419840027274, + 0.0770316464593, + 0.10789777254, + 0.132318604112, + 0.149047992956, + 0.157513182846, + 0.157513182846, + 0.149047992956, + 0.132318604112, + 0.10789777254, + 0.0770316464593, + 0.0419840027274, + 0.00627709925829, + -0.025370425009, + -0.047624090006, + -0.0557749132736, + -0.0475694196173, + -0.0251858090386, + 0.00353236688504, + 0.025771379538, + 0.0273522099695, + -0.000821851378641, + -0.0554461644604, + -0.116672651238, + -0.151928967958, + -0.130075049281, + -0.042073271654, + 0.0833252746706, + 0.183702350393, + 0.194168933456, + 0.093622444767, + -0.0660924340626, + -0.181091213649, + -0.167389202061, + -0.0347980480283, + 0.10830923649, + 0.143493686868, + 0.0537452508075, + -0.0588137455554, + -0.0836259447466, + -0.0234042775087, + 0.0255193910483, + 0.013820755539, + -0.000463666917007, + 0.0289383722693, + 0.0348739582022, + -0.0402069639631, + -0.0881561088642, + 0.0119184511941, + 0.125329990134, + 0.0316282049982, + -0.140350851031, + -0.0669927404302, + 0.14346592155, + 0.0823503234318, + -0.144805005289 + ], + [ + -0.0131437939141, + 0.141222768974, + 0.0151127668695, + -0.132838900449, + -0.0320293112605, + 0.11044166897, + 0.0540714119327, + -0.0714640554742, + -0.0637926946562, + 0.0241361710235, + 0.045319547885, + 0.00545826297832, + -0.00633588483763, + 0.0100089228578, + -0.00745655710323, + -0.051331658873, + -0.0456472396521, + 0.0332823791706, + 0.106688101733, + 0.0833436833448, + -0.0317983036987, + -0.138866841361, + -0.141760862173, + -0.0341543227121, + 0.103314287292, + 0.175248937815, + 0.141192454783, + 0.0321836964658, + -0.0832177716596, + -0.147074188445, + -0.140687838588, + -0.0833987063615, + -0.0121612039743, + 0.0408597502972, + 0.0609491116916, + 0.0514366041922, + 0.026516981738, + 0.00231990840217, + -0.00950557331881, + -0.00425189377418, + 0.0166346307614, + 0.0479959859386, + 0.0835870053365, + 0.118002029617, + 0.147636101719, + 0.170820278949, + 0.187438186835, + 0.19832641362, + 0.204674875608, + 0.207544375917, + 0.207544375917, + 0.204674875608, + 0.19832641362, + 0.187438186835, + 0.170820278949, + 0.147636101719, + 0.118002029617, + 0.0835870053365, + 0.0479959859386, + 0.0166346307614, + -0.00425189377418, + -0.00950557331881, + 0.00231990840217, + 0.026516981738, + 0.0514366041922, + 0.0609491116916, + 0.0408597502972, + -0.0121612039743, + -0.0833987063615, + -0.140687838588, + -0.147074188445, + -0.0832177716596, + 0.0321836964658, + 0.141192454783, + 0.175248937815, + 0.103314287292, + -0.0341543227121, + -0.141760862173, + -0.138866841361, + -0.0317983036987, + 0.0833436833448, + 0.106688101733, + 0.0332823791706, + -0.0456472396521, + -0.051331658873, + -0.00745655710323, + 0.0100089228578, + -0.00633588483763, + 0.00545826297832, + 0.045319547885, + 0.0241361710235, + -0.0637926946562, + -0.0714640554742, + 0.0540714119327, + 0.11044166897, + -0.0320293112605, + -0.132838900449, + 0.0151127668695, + 0.141222768974, + -0.0131437939141 + ], + [ + 0.0858426587933, + 0.0759390239869, + -0.0831592355773, + -0.0785373188554, + 0.0653221347183, + 0.0816422961608, + -0.0346054055993, + -0.0748434579469, + 0.000313893893263, + 0.0498912639514, + 0.0186359497443, + -0.0145929263826, + -0.00560951989149, + -0.0000543471813804, + -0.0243769436597, + -0.0320821705187, + 0.014348703982, + 0.0713570834532, + 0.0632291055696, + -0.0200515866466, + -0.103988477955, + -0.106440244909, + -0.0182430948369, + 0.092259840675, + 0.142490433289, + 0.100335055567, + -0.000913695977849, + -0.0963495616261, + -0.135858987078, + -0.109493966938, + -0.042653948446, + 0.0265429604945, + 0.0694129646065, + 0.0770776820129, + 0.0581702132807, + 0.0296073813042, + 0.00713673798446, + -0.000267323077825, + 0.00858216220128, + 0.0292252136149, + 0.0548117711459, + 0.0789111052155, + 0.0971525216704, + 0.107683183292, + 0.110806517225, + 0.108243023579, + 0.102357361266, + 0.0955416211674, + 0.0898108284151, + 0.0865830784284, + 0.0865830784284, + 0.0898108284151, + 0.0955416211674, + 0.102357361266, + 0.108243023579, + 0.110806517225, + 0.107683183292, + 0.0971525216704, + 0.0789111052155, + 0.0548117711459, + 0.0292252136149, + 0.00858216220128, + -0.000267323077825, + 0.00713673798446, + 0.0296073813042, + 0.0581702132807, + 0.0770776820129, + 0.0694129646065, + 0.0265429604945, + -0.042653948446, + -0.109493966938, + -0.135858987078, + -0.0963495616261, + -0.000913695977849, + 0.100335055567, + 0.142490433289, + 0.092259840675, + -0.0182430948369, + -0.106440244909, + -0.103988477955, + -0.0200515866466, + 0.0632291055696, + 0.0713570834532, + 0.014348703982, + -0.0320821705187, + -0.0243769436597, + -0.0000543471813803, + -0.00560951989149, + -0.0145929263826, + 0.0186359497443, + 0.0498912639514, + 0.000313893893263, + -0.0748434579469, + -0.0346054055993, + 0.0816422961608, + 0.0653221347183, + -0.0785373188554, + -0.0831592355773, + 0.0759390239869, + 0.0858426587933 + ], + [ + 0.0849929999554, + -0.0155555968308, + -0.0837800490824, + 0.0082715094177, + 0.0778191089142, + 0.00780757920172, + -0.0633196453548, + -0.0248588016288, + 0.0382671264732, + 0.0305665999204, + -0.0102191449887, + -0.0164082730997, + -0.00127696561832, + -0.00602484262594, + -0.0175371768017, + 0.00173412730568, + 0.0402614922924, + 0.0445184562369, + -0.00679454708867, + -0.0680970521411, + -0.0749462699787, + -0.012879693517, + 0.0687152359627, + 0.104095027371, + 0.0668576690547, + -0.0147277055674, + -0.0860622393734, + -0.10688698893, + -0.0730142296029, + -0.0103916719149, + 0.0465516231511, + 0.0747969598394, + 0.0705887578923, + 0.0453405371243, + 0.0158706508544, + -0.00439196369975, + -0.00969497742286, + -0.00166426636616, + 0.0136714797669, + 0.0293433387999, + 0.0399509525206, + 0.0427513817833, + 0.0375621416864, + 0.0260024084574, + 0.0105705677284, + -0.00612004483282, + -0.0218180829565, + -0.0348340525854, + -0.044044063307, + -0.0487951131757, + -0.0487951131757, + -0.044044063307, + -0.0348340525854, + -0.0218180829565, + -0.00612004483282, + 0.0105705677284, + 0.0260024084574, + 0.0375621416864, + 0.0427513817833, + 0.0399509525206, + 0.0293433387999, + 0.0136714797669, + -0.00166426636616, + -0.00969497742286, + -0.00439196369975, + 0.0158706508544, + 0.0453405371243, + 0.0705887578923, + 0.0747969598394, + 0.0465516231511, + -0.0103916719149, + -0.0730142296029, + -0.10688698893, + -0.0860622393734, + -0.0147277055674, + 0.0668576690547, + 0.104095027371, + 0.0687152359627, + -0.012879693517, + -0.0749462699787, + -0.0680970521411, + -0.00679454708867, + 0.0445184562369, + 0.0402614922924, + 0.00173412730568, + -0.0175371768017, + -0.00602484262594, + -0.00127696561832, + -0.0164082730997, + -0.0102191449887, + 0.0305665999204, + 0.0382671264732, + -0.0248588016288, + -0.0633196453548, + 0.00780757920172, + 0.0778191089142, + 0.0082715094177, + -0.0837800490824, + -0.0155555968308, + 0.0849929999554 + ], + [ + 0.028099209249, + -0.0484427504201, + -0.0283833235493, + 0.0438153467588, + 0.0319980914226, + -0.0323186195273, + -0.034815446981, + 0.0153401460941, + 0.0308060186595, + 0.0010817648552, + -0.0171093146003, + -0.00635840006029, + 0.00162942652182, + -0.00485454638778, + -0.00262130248931, + 0.0166683473112, + 0.0258160459813, + 0.00211572485626, + -0.0356623844379, + -0.0457163586652, + -0.0112050225241, + 0.0404197005925, + 0.0645956633798, + 0.0404797150217, + -0.0139140668318, + -0.0601593579178, + -0.069685545855, + -0.040784958751, + 0.00588663675799, + 0.0443369800473, + 0.0586343415328, + 0.0483097535012, + 0.0241277320369, + -0.000266962894413, + -0.0152544080395, + -0.0180050565605, + -0.0114327840722, + -0.00123631636542, + 0.00704258055584, + 0.00983402889781, + 0.00602667039153, + -0.00350077037496, + -0.0167595211578, + -0.0315021470485, + -0.0458097384456, + -0.0583634770012, + -0.0684612649993, + -0.0758807181933, + -0.0806832269126, + -0.0830267802332, + -0.0830267802332, + -0.0806832269126, + -0.0758807181933, + -0.0684612649993, + -0.0583634770012, + -0.0458097384456, + -0.0315021470485, + -0.0167595211578, + -0.00350077037496, + 0.00602667039153, + 0.00983402889781, + 0.00704258055584, + -0.00123631636542, + -0.0114327840722, + -0.0180050565605, + -0.0152544080395, + -0.000266962894413, + 0.0241277320369, + 0.0483097535012, + 0.0586343415328, + 0.0443369800473, + 0.00588663675799, + -0.040784958751, + -0.069685545855, + -0.0601593579178, + -0.0139140668318, + 0.0404797150217, + 0.0645956633798, + 0.0404197005925, + -0.0112050225241, + -0.0457163586652, + -0.0356623844379, + 0.00211572485626, + 0.0258160459813, + 0.0166683473112, + -0.00262130248931, + -0.00485454638778, + 0.00162942652182, + -0.00635840006029, + -0.0171093146003, + 0.0010817648552, + 0.0308060186595, + 0.0153401460941, + -0.034815446981, + -0.0323186195273, + 0.0319980914226, + 0.0438153467588, + -0.0283833235493, + -0.0484427504201, + 0.028099209249 + ], + [ + -0.00738228018851, + -0.0229650259225, + 0.00690231463702, + 0.0223590149625, + -0.00325569832647, + -0.0202951356434, + -0.00227781966773, + 0.0154175929631, + 0.00686447647751, + -0.0077515344475, + -0.00683089024959, + 0.000913765168067, + 0.00126724875729, + -0.00108246176466, + 0.00333392736168, + 0.00891804794063, + 0.00349480821802, + -0.0110458424477, + -0.0182531660336, + -0.00705403270563, + 0.014329759807, + 0.0263923200741, + 0.0175402621805, + -0.00588254902884, + -0.0263797968257, + -0.0299872607025, + -0.015610473062, + 0.00656665636217, + 0.0236504118695, + 0.0280703394715, + 0.0203331876898, + 0.00657739032156, + -0.00601805099806, + -0.0128575744392, + -0.0131503946566, + -0.00903800848203, + -0.00379859251638, + -0.000237204444528, + 0.000166492041906, + -0.00267184189962, + -0.00786640336794, + -0.0141367661921, + -0.0202869469395, + -0.0254817358533, + -0.0293246153683, + -0.0317982038186, + -0.033138659159, + -0.0336996870923, + -0.0338380321547, + -0.0338319787266, + -0.0338319787266, + -0.0338380321547, + -0.0336996870923, + -0.033138659159, + -0.0317982038186, + -0.0293246153683, + -0.0254817358533, + -0.0202869469395, + -0.0141367661921, + -0.00786640336794, + -0.00267184189962, + 0.000166492041906, + -0.000237204444528, + -0.00379859251638, + -0.00903800848203, + -0.0131503946566, + -0.0128575744392, + -0.00601805099806, + 0.00657739032156, + 0.0203331876898, + 0.0280703394715, + 0.0236504118695, + 0.00656665636217, + -0.015610473062, + -0.0299872607025, + -0.0263797968257, + -0.00588254902884, + 0.0175402621805, + 0.0263923200741, + 0.014329759807, + -0.00705403270563, + -0.0182531660336, + -0.0110458424477, + 0.00349480821802, + 0.00891804794063, + 0.00333392736168, + -0.00108246176466, + 0.00126724875729, + 0.000913765168067, + -0.00683089024959, + -0.0077515344475, + 0.00686447647751, + 0.0154175929631, + -0.00227781966773, + -0.0202951356434, + -0.00325569832647, + 0.0223590149625, + 0.00690231463702, + -0.0229650259225, + -0.00738228018851 + ], + [ + 0.00727981704941, + 0.00350194953788, + -0.00710775369246, + -0.00388080409545, + 0.00598077198222, + 0.00457382176063, + -0.00389150535996, + -0.00477615506084, + 0.00126261788306, + 0.00364584125301, + 0.000657601135565, + -0.00131229444573, + -0.000340654597693, + -0.000199901968661, + -0.00187643215964, + -0.00165966902633, + 0.00208949575668, + 0.00529139615707, + 0.00317531767214, + -0.00332181523811, + -0.00808060157855, + -0.00617809142414, + 0.00128448700694, + 0.00845521072383, + 0.00996888458908, + 0.00498070187498, + -0.00291616528491, + -0.00884615134926, + -0.00990557569429, + -0.00638049540954, + -0.000793193238, + 0.00398876615188, + 0.00624012705461, + 0.00583132791724, + 0.00379191677733, + 0.00151211397801, + 0.0000713536597415, + -0.0000719628157927, + 0.000954552534933, + 0.00266860556326, + 0.00449969265699, + 0.00598610082394, + 0.00686755918391, + 0.00708847189174, + 0.00674800473627, + 0.00603270177095, + 0.00515584648348, + 0.00431454372118, + 0.00366543519178, + 0.0033144582937, + 0.0033144582937, + 0.00366543519178, + 0.00431454372118, + 0.00515584648348, + 0.00603270177095, + 0.00674800473627, + 0.00708847189174, + 0.00686755918391, + 0.00598610082394, + 0.00449969265699, + 0.00266860556326, + 0.000954552534933, + -0.0000719628157927, + 0.0000713536597415, + 0.00151211397801, + 0.00379191677733, + 0.00583132791724, + 0.00624012705461, + 0.00398876615188, + -0.000793193238, + -0.00638049540954, + -0.00990557569429, + -0.00884615134926, + -0.00291616528491, + 0.00498070187498, + 0.00996888458908, + 0.00845521072383, + 0.00128448700694, + -0.00617809142414, + -0.00808060157855, + -0.00332181523811, + 0.00317531767214, + 0.00529139615707, + 0.00208949575668, + -0.00165966902633, + -0.00187643215964, + -0.000199901968661, + -0.000340654597693, + -0.00131229444573, + 0.000657601135566, + 0.00364584125301, + 0.00126261788306, + -0.00477615506084, + -0.00389150535996, + 0.00457382176063, + 0.00598077198222, + -0.00388080409545, + -0.00710775369246, + 0.00350194953788, + 0.00727981704941 + ], + [ + 0.0384818765676, + -0.0130031151489, + -0.0380771693431, + 0.00940906530844, + 0.0361962129667, + -0.00126337139224, + -0.0307110896874, + -0.00806323264948, + 0.0199426217158, + 0.0126926991013, + -0.00656517149079, + -0.00762861177979, + -0.000299961185178, + -0.00315743933565, + -0.00760407394197, + 0.00303428972586, + 0.0202636179865, + 0.0187572679946, + -0.00779870867396, + -0.0347268544455, + -0.0328163288392, + 0.000283591725257, + 0.037835325192, + 0.0493689801693, + 0.0261586931421, + -0.0146994925343, + -0.0462331638801, + -0.0510840920005, + -0.030199545813, + 0.00188090792242, + 0.0282737611737, + 0.0389992247493, + 0.0338439959812, + 0.0195441762251, + 0.00467895382324, + -0.00451348147484, + -0.00588942536516, + -0.000908798162658, + 0.00703697183583, + 0.0143824167073, + 0.0185671678827, + 0.0184698434881, + 0.0142614616464, + 0.00696261820066, + -0.00204435241214, + -0.0113960661814, + -0.0199688749222, + -0.0269550849317, + -0.0318419786717, + -0.0343461443381, + -0.0343461443381, + -0.0318419786717, + -0.0269550849317, + -0.0199688749222, + -0.0113960661814, + -0.00204435241214, + 0.00696261820066, + 0.0142614616464, + 0.0184698434881, + 0.0185671678827, + 0.0143824167073, + 0.00703697183583, + -0.000908798162658, + -0.00588942536516, + -0.00451348147484, + 0.00467895382324, + 0.0195441762251, + 0.0338439959812, + 0.0389992247493, + 0.0282737611737, + 0.00188090792242, + -0.030199545813, + -0.0510840920005, + -0.0462331638801, + -0.0146994925342, + 0.0261586931421, + 0.0493689801693, + 0.037835325192, + 0.000283591725257, + -0.0328163288392, + -0.0347268544455, + -0.00779870867396, + 0.0187572679946, + 0.0202636179865, + 0.00303428972586, + -0.00760407394197, + -0.00315743933565, + -0.000299961185178, + -0.00762861177979, + -0.00656517149079, + 0.0126926991013, + 0.0199426217158, + -0.00806323264948, + -0.0307110896874, + -0.00126337139224, + 0.0361962129667, + 0.00940906530844, + -0.0380771693431, + -0.0130031151489, + 0.0384818765676 + ], + [ + 0.0354851734235, + -0.0635739947866, + -0.0359293351215, + 0.0576878996149, + 0.0408658914626, + -0.0428703457128, + -0.0449246649081, + 0.0207680159571, + 0.0401476638523, + 0.000880625425876, + -0.0225451626021, + -0.00815857017193, + 0.0021932417926, + -0.00636327472852, + -0.0031793297303, + 0.0222576875508, + 0.033836099168, + 0.00201904712574, + -0.04779899754, + -0.0602899544449, + -0.0137264733332, + 0.0548764647773, + 0.0862291713591, + 0.0530219893566, + -0.0201924404241, + -0.0818255838695, + -0.0937411375706, + -0.0539523692936, + 0.00949016361184, + 0.0614264166341, + 0.0803506342834, + 0.0657303321336, + 0.0323041194542, + -0.00125303285245, + -0.0217549062404, + -0.025325502213, + -0.0160088221691, + -0.00172586284143, + 0.00978691048861, + 0.0135148667348, + 0.00787371502209, + -0.0059169742011, + -0.0250517807079, + -0.0463352502054, + -0.0670187936574, + -0.0851973282812, + -0.0998438523649, + -0.110621288163, + -0.117605289493, + -0.121015824348, + -0.121015824348, + -0.117605289493, + -0.110621288163, + -0.0998438523649, + -0.0851973282812, + -0.0670187936574, + -0.0463352502054, + -0.0250517807079, + -0.0059169742011, + 0.00787371502209, + 0.0135148667348, + 0.00978691048861, + -0.00172586284143, + -0.0160088221691, + -0.025325502213, + -0.0217549062404, + -0.00125303285245, + 0.0323041194542, + 0.0657303321336, + 0.0803506342834, + 0.0614264166341, + 0.00949016361184, + -0.0539523692936, + -0.0937411375706, + -0.0818255838695, + -0.0201924404241, + 0.0530219893566, + 0.0862291713591, + 0.0548764647773, + -0.0137264733332, + -0.0602899544449, + -0.04779899754, + 0.00201904712574, + 0.033836099168, + 0.0222576875508, + -0.0031793297303, + -0.00636327472852, + 0.0021932417926, + -0.00815857017193, + -0.0225451626021, + 0.000880625425877, + 0.0401476638523, + 0.0207680159571, + -0.0449246649081, + -0.0428703457128, + 0.0408658914626, + 0.0576878996149, + -0.0359293351215, + -0.0635739947866, + 0.0354851734235 + ], + [ + -0.0203504803369, + -0.101483201247, + 0.0184573768653, + 0.0980088663542, + -0.00347883772183, + -0.0870082892189, + -0.0185722018222, + 0.0636172832306, + 0.0351324044207, + -0.0295603904192, + -0.0311990622582, + 0.00172338736465, + 0.00536316095547, + -0.00557353786975, + 0.012177687115, + 0.039391067328, + 0.0209846642678, + -0.0424209360806, + -0.0814882894295, + -0.0407599835598, + 0.0529012742273, + 0.115332513906, + 0.087793806734, + -0.0114064429388, + -0.10839524519, + -0.136565648687, + -0.0825984610988, + 0.0141449267657, + 0.0963979932641, + 0.125928715496, + 0.0994837464276, + 0.0411228016913, + -0.0171543565929, + -0.0525050350973, + -0.05849284747, + -0.0426809979244, + -0.0192096539008, + -0.00136682322613, + 0.0028861199625, + -0.00810409332249, + -0.031166729997, + -0.0607700053487, + -0.0912791554968, + -0.118408563578, + -0.139780865675, + -0.154805901713, + -0.164184285846, + -0.169298979685, + -0.171663953023, + -0.172507714404, + -0.172507714404, + -0.171663953023, + -0.169298979685, + -0.164184285846, + -0.154805901713, + -0.139780865675, + -0.118408563578, + -0.0912791554968, + -0.0607700053487, + -0.031166729997, + -0.00810409332249, + 0.0028861199625, + -0.00136682322613, + -0.0192096539008, + -0.0426809979244, + -0.05849284747, + -0.0525050350973, + -0.0171543565929, + 0.0411228016913, + 0.0994837464276, + 0.125928715496, + 0.0963979932641, + 0.0141449267657, + -0.0825984610988, + -0.136565648687, + -0.10839524519, + -0.0114064429388, + 0.087793806734, + 0.115332513906, + 0.0529012742273, + -0.0407599835598, + -0.0814882894295, + -0.0424209360806, + 0.0209846642678, + 0.039391067328, + 0.012177687115, + -0.00557353786975, + 0.00536316095547, + 0.00172338736465, + -0.0311990622582, + -0.0295603904192, + 0.0351324044207, + 0.0636172832306, + -0.0185722018222, + -0.0870082892189, + -0.00347883772183, + 0.0980088663542, + 0.0184573768653, + -0.101483201247, + -0.0203504803369 + ], + [ + -0.102212434455, + -0.0846904759707, + 0.0993756940723, + 0.088342841917, + -0.0790702066885, + -0.0931902063298, + 0.0434616345046, + 0.0868832197883, + -0.00284922179599, + -0.0590596709542, + -0.020694607837, + 0.0178403634787, + 0.00654437824962, + 0.000458925183237, + 0.029380924318, + 0.0371397998567, + -0.0193812692488, + -0.0863470996408, + -0.0736937368827, + 0.028154826072, + 0.127901556394, + 0.127157767582, + 0.0170935047943, + -0.117527208465, + -0.175998313706, + -0.120338742683, + 0.00703766189332, + 0.125248202757, + 0.172271760367, + 0.136336115796, + 0.0499030872819, + -0.038627694019, + -0.0928235538049, + -0.10147378416, + -0.0758483306809, + -0.0380035891753, + -0.00860091075113, + 0.000474767879069, + -0.0124014434943, + -0.0412786900345, + -0.0768875328961, + -0.110409495125, + -0.135754413522, + -0.150266085004, + -0.154298039815, + -0.15023502556, + -0.141428269728, + -0.131317522551, + -0.122833580595, + -0.118057018738, + -0.118057018738, + -0.122833580595, + -0.131317522551, + -0.141428269728, + -0.15023502556, + -0.154298039815, + -0.150266085004, + -0.135754413522, + -0.110409495125, + -0.0768875328961, + -0.0412786900345, + -0.0124014434943, + 0.000474767879069, + -0.00860091075113, + -0.0380035891753, + -0.0758483306809, + -0.10147378416, + -0.0928235538049, + -0.038627694019, + 0.0499030872819, + 0.136336115796, + 0.172271760367, + 0.125248202757, + 0.00703766189332, + -0.120338742683, + -0.175998313706, + -0.117527208465, + 0.0170935047943, + 0.127157767582, + 0.127901556394, + 0.028154826072, + -0.0736937368827, + -0.0863470996408, + -0.0193812692488, + 0.0371397998567, + 0.029380924318, + 0.000458925183237, + 0.00654437824962, + 0.0178403634787, + -0.020694607837, + -0.0590596709542, + -0.00284922179599, + 0.0868832197883, + 0.0434616345046, + -0.0931902063298, + -0.0790702066885, + 0.088342841917, + 0.0993756940723, + -0.0846904759707, + -0.102212434455 + ], + [ + -0.160690585954, + -0.00704101484583, + 0.158252233654, + 0.0190011954449, + -0.142675485897, + -0.0444372250204, + 0.109042254568, + 0.0675414659716, + -0.0578436129747, + -0.0663658633294, + 0.00792665157714, + 0.030839586414, + 0.00422877208871, + 0.0092155035644, + 0.0368255223507, + 0.0105312004693, + -0.0679035403898, + -0.0983206626998, + -0.0157594573802, + 0.114334503198, + 0.160706214701, + 0.0650651880833, + -0.100581304828, + -0.204155512171, + -0.167456903761, + -0.019650192887, + 0.138957244486, + 0.215200054294, + 0.178763230986, + 0.0655487116133, + -0.0579315208794, + -0.136549876118, + -0.150028030175, + -0.112050965899, + -0.053978249084, + -0.00624780945129, + 0.0134859433466, + 0.00304559569557, + -0.0283162155698, + -0.0665766541017, + -0.0988247338347, + -0.1166985621, + -0.117268916446, + -0.102141626806, + -0.0757640165538, + -0.0437170679547, + -0.0114261795641, + 0.0165896562596, + 0.0370118891711, + 0.0477288675591, + 0.0477288675591, + 0.0370118891711, + 0.0165896562596, + -0.0114261795641, + -0.0437170679547, + -0.0757640165538, + -0.102141626806, + -0.117268916446, + -0.1166985621, + -0.0988247338347, + -0.0665766541017, + -0.0283162155698, + 0.00304559569557, + 0.0134859433466, + -0.00624780945129, + -0.053978249084, + -0.112050965899, + -0.150028030175, + -0.136549876118, + -0.0579315208794, + 0.0655487116133, + 0.178763230986, + 0.215200054294, + 0.138957244486, + -0.019650192887, + -0.167456903761, + -0.204155512171, + -0.100581304828, + 0.0650651880833, + 0.160706214701, + 0.114334503198, + -0.0157594573802, + -0.0983206626998, + -0.0679035403898, + 0.0105312004693, + 0.0368255223507, + 0.0092155035644, + 0.00422877208871, + 0.030839586414, + 0.00792665157714, + -0.0663658633294, + -0.0578436129747, + 0.0675414659716, + 0.109042254568, + -0.0444372250204, + -0.142675485897, + 0.0190011954449, + 0.158252233654, + -0.00704101484583, + -0.160690585954 + ], + [ + -0.157687234506, + 0.100333451547, + 0.157019840282, + -0.083377259254, + -0.15565685694, + 0.0433190211637, + 0.141708961341, + 0.00742978262213, + -0.102284010072, + -0.0425421262761, + 0.0423239531237, + 0.032657262752, + -0.00102873853706, + 0.0163121116429, + 0.0281361638992, + -0.0306576502186, + -0.0987639784485, + -0.0644216031645, + 0.0705043017525, + 0.172530814005, + 0.123077368494, + -0.0523096222983, + -0.208789741556, + -0.217313473313, + -0.0699832288807, + 0.127664210589, + 0.247626064727, + 0.227437287742, + 0.0954666169622, + -0.0655508461144, + -0.176414421209, + -0.200886503671, + -0.151217833009, + -0.0683603428119, + 0.00465071275575, + 0.0413666229495, + 0.0373521386423, + 0.00505700156427, + -0.0358263618047, + -0.0671653589019, + -0.0775579546114, + -0.0635759967464, + -0.0282604836503, + 0.0215661085053, + 0.077921500412, + 0.133538122953, + 0.182819738724, + 0.222032509564, + 0.249017056348, + 0.262711268091, + 0.262711268091, + 0.249017056348, + 0.222032509564, + 0.182819738724, + 0.133538122953, + 0.077921500412, + 0.0215661085053, + -0.0282604836503, + -0.0635759967464, + -0.0775579546114, + -0.0671653589019, + -0.0358263618047, + 0.00505700156427, + 0.0373521386423, + 0.0413666229495, + 0.00465071275575, + -0.0683603428119, + -0.151217833009, + -0.200886503671, + -0.176414421209, + -0.0655508461143, + 0.0954666169622, + 0.227437287742, + 0.247626064727, + 0.127664210589, + -0.0699832288807, + -0.217313473313, + -0.208789741556, + -0.0523096222983, + 0.123077368494, + 0.172530814005, + 0.0705043017525, + -0.0644216031645, + -0.0987639784485, + -0.0306576502186, + 0.0281361638992, + 0.0163121116429, + -0.00102873853706, + 0.032657262752, + 0.0423239531237, + -0.0425421262761, + -0.102284010072, + 0.00742978262213, + 0.141708961341, + 0.0433190211637, + -0.15565685694, + -0.083377259254, + 0.157019840282, + 0.100333451547, + -0.157687234506 + ], + [ + -0.0870154916771, + 0.19046455264, + 0.0887856110574, + -0.174599523102, + -0.105553544533, + 0.133546519907, + 0.121890768494, + -0.0702181893304, + -0.113837450819, + 0.00512456000422, + 0.066980537979, + 0.020994666305, + -0.00712270378871, + 0.0181759045448, + 0.00531231189617, + -0.0688516881717, + -0.095007306964, + 0.00542220493457, + 0.148034476008, + 0.171354047655, + 0.0232110441639, + -0.176918005287, + -0.254835523631, + -0.14036781829, + 0.0828124135158, + 0.258299305183, + 0.277920916963, + 0.144561606423, + -0.051504181318, + -0.203721529497, + -0.250676947746, + -0.195569996256, + -0.08673246632, + 0.0176939341084, + 0.0782008011122, + 0.0847808628106, + 0.0518761296174, + 0.0054433243501, + -0.0297719675355, + -0.0380764557398, + -0.0149142969408, + 0.0352340865102, + 0.102808464591, + 0.177050122043, + 0.248735159283, + 0.311485410203, + 0.361891243328, + 0.398885965007, + 0.422806457271, + 0.434469417779, + 0.434469417779, + 0.422806457271, + 0.398885965007, + 0.361891243328, + 0.311485410203, + 0.248735159283, + 0.177050122043, + 0.102808464591, + 0.0352340865102, + -0.0149142969408, + -0.0380764557398, + -0.0297719675355, + 0.0054433243501, + 0.0518761296174, + 0.0847808628106, + 0.0782008011122, + 0.0176939341084, + -0.08673246632, + -0.195569996256, + -0.250676947746, + -0.203721529497, + -0.051504181318, + 0.144561606423, + 0.277920916963, + 0.258299305183, + 0.0828124135158, + -0.14036781829, + -0.254835523631, + -0.176918005287, + 0.0232110441639, + 0.171354047655, + 0.148034476008, + 0.00542220493457, + -0.095007306964, + -0.0688516881717, + 0.00531231189617, + 0.0181759045448, + -0.00712270378871, + 0.020994666305, + 0.066980537979, + 0.00512456000422, + -0.113837450819, + -0.0702181893304, + 0.121890768494, + 0.133546519907, + -0.105553544533, + -0.174599523102, + 0.0887856110574, + 0.19046455264, + -0.0870154916771 + ], + [ + 0.0266659958095, + 0.226203135986, + -0.0227680365434, + -0.217396511203, + -0.00894504710549, + 0.190127902249, + 0.0545565072846, + -0.135197577264, + -0.0859508553404, + 0.0588600153853, + 0.0714030641835, + -0.000259982483291, + -0.0116510831094, + 0.0137376253464, + -0.0233277243714, + -0.0884799987867, + -0.0559548705783, + 0.0853702286556, + 0.185002520203, + 0.107341371748, + -0.102797876785, + -0.258958647147, + -0.215765209757, + 0.00204725661233, + 0.233221700187, + 0.318176134235, + 0.21155695157, + -0.00739141942633, + -0.207797031467, + -0.293564086237, + -0.246790209599, + -0.116539669063, + 0.0233235544748, + 0.115226218745, + 0.138277534713, + 0.105919676957, + 0.0501517686317, + 0.00386608137242, + -0.0110389522628, + 0.0124497292586, + 0.0688391615984, + 0.145535155459, + 0.228379010597, + 0.305619134216, + 0.369825784364, + 0.418055903323, + 0.450907783612, + 0.471101116299, + 0.482048963215, + 0.486689283655, + 0.486689283655, + 0.482048963215, + 0.471101116299, + 0.450907783612, + 0.418055903323, + 0.369825784364, + 0.305619134216, + 0.228379010597, + 0.145535155459, + 0.0688391615984, + 0.0124497292586, + -0.0110389522628, + 0.00386608137242, + 0.0501517686317, + 0.105919676957, + 0.138277534713, + 0.115226218745, + 0.0233235544748, + -0.116539669063, + -0.246790209599, + -0.293564086237, + -0.207797031467, + -0.00739141942633, + 0.21155695157, + 0.318176134235, + 0.233221700187, + 0.00204725661233, + -0.215765209757, + -0.258958647147, + -0.102797876785, + 0.107341371748, + 0.185002520203, + 0.0853702286556, + -0.0559548705783, + -0.0884799987867, + -0.0233277243714, + 0.0137376253464, + -0.0116510831094, + -0.000259982483291, + 0.0714030641835, + 0.0588600153853, + -0.0859508553404, + -0.135197577264, + 0.0545565072846, + 0.190127902249, + -0.00894504710549, + -0.217396511203, + -0.0227680365434, + 0.226203135986, + 0.0266659958095 + ], + [ + 0.143881641325, + 0.195224950076, + -0.138918419389, + -0.196956093786, + 0.100646831899, + 0.193432562316, + -0.0369539961076, + -0.164949059367, + -0.028250877477, + 0.10002209508, + 0.0540096235756, + -0.0237530612829, + -0.0130356511441, + 0.00451354278069, + -0.0478594706356, + -0.0826182912286, + 0.00503838810459, + 0.14769226831, + 0.168220066671, + 0.00219306058448, + -0.211357433212, + -0.26937924881, + -0.104100114203, + 0.161242101073, + 0.328783796199, + 0.285181036595, + 0.0698104438042, + -0.17688227469, + -0.319082406512, + -0.302452239155, + -0.163867498686, + 0.0109282538512, + 0.142083367832, + 0.190595804899, + 0.163324955413, + 0.0963758679285, + 0.0319664688599, + 0.000768518150296, + 0.0145910777212, + 0.068182354179, + 0.146007169128, + 0.229825731839, + 0.304400648646, + 0.360399080155, + 0.394800271324, + 0.409684782753, + 0.410320145711, + 0.403218766972, + 0.394538870402, + 0.38895160426, + 0.38895160426, + 0.394538870402, + 0.403218766972, + 0.410320145711, + 0.409684782753, + 0.394800271324, + 0.360399080155, + 0.304400648646, + 0.229825731839, + 0.146007169128, + 0.068182354179, + 0.0145910777212, + 0.000768518150297, + 0.0319664688599, + 0.0963758679285, + 0.163324955413, + 0.190595804899, + 0.142083367832, + 0.0109282538512, + -0.163867498686, + -0.302452239155, + -0.319082406512, + -0.17688227469, + 0.0698104438042, + 0.285181036595, + 0.328783796199, + 0.161242101073, + -0.104100114203, + -0.26937924881, + -0.211357433212, + 0.00219306058448, + 0.168220066671, + 0.14769226831, + 0.00503838810459, + -0.0826182912286, + -0.0478594706356, + 0.00451354278069, + -0.0130356511441, + -0.0237530612829, + 0.0540096235756, + 0.10002209508, + -0.028250877477, + -0.164949059367, + -0.0369539961076, + 0.193432562316, + 0.100646831899, + -0.196956093786, + -0.138918419389, + 0.195224950076, + 0.143881641325 + ], + [ + 0.229033862025, + 0.110205925088, + -0.22433253492, + -0.122562428329, + 0.189457861653, + 0.145043540263, + -0.123806589698, + -0.152156737942, + 0.0403997380552, + 0.116748724434, + 0.0210750599259, + -0.0422729913837, + -0.010999967099, + -0.00649005824689, + -0.0610372839039, + -0.0541484318003, + 0.0685637118094, + 0.174247348196, + 0.104973813136, + -0.110580565736, + -0.270241149271, + -0.207726796025, + 0.0436459805462, + 0.288341148409, + 0.34235242455, + 0.172296088669, + -0.102026349631, + -0.311970988758, + -0.352747305222, + -0.229596062675, + -0.0287363001793, + 0.147268671808, + 0.233377464406, + 0.221190974095, + 0.146014957558, + 0.059147592609, + 0.00280804809623, + -0.00292186494756, + 0.0394590052627, + 0.112422343512, + 0.193263090328, + 0.262136374954, + 0.306517101045, + 0.322206608132, + 0.31198444027, + 0.283179348886, + 0.245147024683, + 0.207210197019, + 0.177240193199, + 0.160818987304, + 0.160818987304, + 0.177240193199, + 0.207210197019, + 0.245147024683, + 0.283179348886, + 0.31198444027, + 0.322206608132, + 0.306517101045, + 0.262136374954, + 0.193263090328, + 0.112422343512, + 0.0394590052627, + -0.00292186494756, + 0.00280804809623, + 0.059147592609, + 0.146014957558, + 0.221190974095, + 0.233377464406, + 0.147268671808, + -0.0287363001793, + -0.229596062675, + -0.352747305222, + -0.311970988758, + -0.102026349631, + 0.172296088669, + 0.34235242455, + 0.288341148409, + 0.0436459805462, + -0.207726796025, + -0.270241149271, + -0.110580565736, + 0.104973813136, + 0.174247348196, + 0.0685637118094, + -0.0541484318003, + -0.0610372839039, + -0.00649005824689, + -0.010999967099, + -0.0422729913837, + 0.0210750599259, + 0.116748724434, + 0.0403997380552, + -0.152156737942, + -0.123806589698, + 0.145043540263, + 0.189457861653, + -0.122562428329, + -0.22433253492, + 0.110205925088, + 0.229033862025 + ], + [ + 0.262494876938, + -0.00127571896011, + -0.259171784305, + -0.0189399347105, + 0.235812598735, + 0.0625437779924, + -0.183358202462, + -0.104084248517, + 0.100773140378, + 0.106797279417, + -0.0172565897391, + -0.0513419269584, + -0.00638830596521, + -0.0161916965631, + -0.0603519016602, + -0.0126033787181, + 0.117512236935, + 0.161028576665, + 0.0160138110337, + -0.200345386248, + -0.267891277003, + -0.0962825471681, + 0.185262537281, + 0.352062223773, + 0.276680571739, + 0.0156337238486, + -0.255993477184, + -0.379202172012, + -0.30528395026, + -0.0999170390012, + 0.119272328981, + 0.255700200131, + 0.274589511519, + 0.201387402196, + 0.0931277268153, + 0.00539957819573, + -0.0291545027034, + -0.00621076726611, + 0.0570611282541, + 0.133906558058, + 0.19892210552, + 0.234849946935, + 0.234786802402, + 0.200995832145, + 0.141999615239, + 0.0693713652794, + -0.00491796515035, + -0.0702785432405, + -0.118460294673, + -0.143928329839, + -0.143928329839, + -0.118460294673, + -0.0702785432405, + -0.00491796515035, + 0.0693713652794, + 0.141999615239, + 0.200995832145, + 0.234786802402, + 0.234849946935, + 0.19892210552, + 0.133906558058, + 0.0570611282541, + -0.00621076726611, + -0.0291545027034, + 0.00539957819573, + 0.0931277268153, + 0.201387402196, + 0.274589511519, + 0.255700200131, + 0.119272328981, + -0.0999170390012, + -0.30528395026, + -0.379202172012, + -0.255993477184, + 0.0156337238486, + 0.276680571739, + 0.352062223773, + 0.185262537281, + -0.0962825471681, + -0.267891277003, + -0.200345386248, + 0.0160138110337, + 0.161028576665, + 0.117512236935, + -0.0126033787181, + -0.0603519016602, + -0.0161916965631, + -0.00638830596521, + -0.0513419269584, + -0.0172565897391, + 0.106797279417, + 0.100773140378, + -0.104084248517, + -0.183358202462, + 0.0625437779924, + 0.235812598735, + -0.0189399347105, + -0.259171784305, + -0.00127571896011, + 0.262494876938 + ], + [ + 0.243217233492, + -0.109524199527, + -0.241894582095, + 0.0857102138956, + 0.234372147983, + -0.0302076227294, + -0.205164413647, + -0.0366272645136, + 0.139743550465, + 0.0759601076083, + -0.0512725401009, + -0.0500413998718, + -0.000615530500891, + -0.0224749586686, + -0.0477255803509, + 0.030588318591, + 0.142199307728, + 0.116120983052, + -0.0745290900127, + -0.248816788564, + -0.212362347668, + 0.0326780752372, + 0.288161422341, + 0.344960399296, + 0.156549244259, + -0.142865224723, + -0.357927951103, + -0.370416148074, + -0.196819887631, + 0.0499745209773, + 0.244063489206, + 0.313675703043, + 0.261067486648, + 0.140666031186, + 0.0202866652535, + -0.0509081867133, + -0.0562752525194, + -0.00836992027957, + 0.0638786995872, + 0.12923843175, + 0.164195768156, + 0.157278023881, + 0.108615618347, + 0.0267689155057, + -0.0752304637116, + -0.183317270318, + -0.284730051657, + -0.369218845667, + -0.429395986957, + -0.460598777927, + -0.460598777927, + -0.429395986957, + -0.369218845667, + -0.284730051657, + -0.183317270318, + -0.0752304637116, + 0.0267689155057, + 0.108615618347, + 0.157278023881, + 0.164195768156, + 0.12923843175, + 0.0638786995872, + -0.00836992027957, + -0.0562752525194, + -0.0509081867133, + 0.0202866652535, + 0.140666031186, + 0.261067486648, + 0.313675703043, + 0.244063489206, + 0.0499745209773, + -0.196819887631, + -0.370416148074, + -0.357927951103, + -0.142865224723, + 0.156549244259, + 0.344960399296, + 0.288161422341, + 0.0326780752372, + -0.212362347668, + -0.248816788564, + -0.0745290900127, + 0.116120983052, + 0.142199307728, + 0.030588318591, + -0.0477255803509, + -0.0224749586686, + -0.000615530500891, + -0.0500413998718, + -0.0512725401009, + 0.0759601076083, + 0.139743550465, + -0.0366272645136, + -0.205164413647, + -0.0302076227294, + 0.234372147983, + 0.0857102138956, + -0.241894582095, + -0.109524199527, + 0.243217233492 + ], + [ + 0.184109663691, + -0.192321024879, + -0.184864365428, + 0.169210719292, + 0.193424632525, + -0.111996025311, + -0.190926218315, + 0.0328051007075, + 0.152667305895, + 0.0341816861824, + -0.0745319758696, + -0.0403545317848, + 0.00491328277887, + -0.0245788796427, + -0.0277660661805, + 0.0660741097782, + 0.141371264067, + 0.0540929648384, + -0.147358317608, + -0.252416213909, + -0.123803368819, + 0.149267136119, + 0.336803032534, + 0.27958824853, + 0.0156339637013, + -0.269628429515, + -0.394331484145, + -0.298866140785, + -0.0591314426294, + 0.185732120273, + 0.322859256371, + 0.316182599699, + 0.203162513876, + 0.0571470169357, + -0.0548013644165, + -0.0978185203223, + -0.0735630992652, + -0.00908873692375, + 0.0597144634447, + 0.102069510807, + 0.0999111304813, + 0.0491800495863, + -0.0430820324204, + -0.163331435995, + -0.295904916673, + -0.426179891703, + -0.542281935247, + -0.635585601762, + -0.700446932622, + -0.733606357384, + -0.733606357384, + -0.700446932622, + -0.635585601762, + -0.542281935247, + -0.426179891703, + -0.295904916673, + -0.163331435995, + -0.0430820324204, + 0.0491800495863, + 0.0999111304813, + 0.102069510807, + 0.0597144634447, + -0.00908873692375, + -0.0735630992652, + -0.0978185203223, + -0.0548013644165, + 0.0571470169357, + 0.203162513876, + 0.316182599699, + 0.322859256371, + 0.185732120273, + -0.0591314426294, + -0.298866140785, + -0.394331484145, + -0.269628429515, + 0.0156339637013, + 0.27958824853, + 0.336803032534, + 0.149267136119, + -0.123803368819, + -0.252416213909, + -0.147358317608, + 0.0540929648384, + 0.141371264067, + 0.0660741097782, + -0.0277660661805, + -0.0245788796427, + 0.00491328277887, + -0.0403545317848, + -0.0745319758696, + 0.0341816861824, + 0.152667305895, + 0.0328051007075, + -0.190926218315, + -0.111996025311, + 0.193424632525, + 0.169210719292, + -0.184864365428, + -0.192321024879, + 0.184109663691 + ], + [ + 0.104438732893, + -0.239007287068, + -0.106922969014, + 0.219896254687, + 0.128683376161, + -0.169434809354, + -0.150558949938, + 0.0905921296772, + 0.142273711825, + -0.00840207480805, + -0.0847412506504, + -0.0257898453522, + 0.00919325522488, + -0.0229282605575, + -0.00572041400194, + 0.0886100066936, + 0.120188042677, + -0.00989648209976, + -0.19205641821, + -0.219167806021, + -0.0254579903577, + 0.233675263752, + 0.332320828906, + 0.179475898255, + -0.115338404935, + -0.346527574827, + -0.370505853243, + -0.18972756472, + 0.0763301462796, + 0.284202732836, + 0.348969573623, + 0.272501039667, + 0.119448341158, + -0.0296287399547, + -0.117723606478, + -0.128119476596, + -0.0793613552872, + -0.00845330835335, + 0.0469227653134, + 0.060405819328, + 0.0213402813346, + -0.066871042956, + -0.191559731028, + -0.336115231158, + -0.484210763236, + -0.622326389573, + -0.740681935759, + -0.833042539041, + -0.895929037527, + -0.927680565952, + -0.927680565952, + -0.895929037527, + -0.833042539041, + -0.740681935759, + -0.622326389573, + -0.484210763236, + -0.336115231158, + -0.191559731028, + -0.066871042956, + 0.0213402813346, + 0.060405819328, + 0.0469227653134, + -0.00845330835335, + -0.0793613552872, + -0.128119476596, + -0.117723606478, + -0.0296287399547, + 0.119448341158, + 0.272501039667, + 0.348969573623, + 0.284202732836, + 0.0763301462796, + -0.18972756472, + -0.370505853243, + -0.346527574827, + -0.115338404935, + 0.179475898255, + 0.332320828906, + 0.233675263752, + -0.0254579903577, + -0.219167806021, + -0.19205641821, + -0.00989648209976, + 0.120188042677, + 0.0886100066936, + -0.00572041400194, + -0.0229282605575, + 0.00919325522488, + -0.0257898453522, + -0.0847412506504, + -0.00840207480805, + 0.142273711825, + 0.0905921296772, + -0.150558949938, + -0.169434809354, + 0.128683376161, + 0.219896254687, + -0.106922969014, + -0.239007287068, + 0.104438732893 + ], + [ + 0.0229261885198, + -0.249722313091, + -0.0265628053593, + 0.236433668239, + 0.0569813811046, + -0.19804717213, + -0.0971467820682, + 0.129269549308, + 0.115731962874, + -0.0441368063119, + -0.0830943219296, + -0.0100162834957, + 0.0117584756702, + -0.0186675365489, + 0.0140705705356, + 0.097181464623, + 0.0869725135762, + -0.064183715692, + -0.20712355119, + -0.163177302868, + 0.0632450902161, + 0.278292064431, + 0.28730759856, + 0.0698431848024, + -0.215631069239, + -0.371029296275, + -0.303725187923, + -0.0701892005927, + 0.186403833323, + 0.336147749719, + 0.328929776713, + 0.199811789977, + 0.0297097044522, + -0.104030524234, + -0.160080225001, + -0.139856733538, + -0.0748621362032, + -0.0068197574813, + 0.0291657653681, + 0.0135510229231, + -0.0565630921629, + -0.171470488083, + -0.314781322078, + -0.468806949751, + -0.618203744085, + -0.751682042476, + -0.862175810442, + -0.946071753046, + -1.00205351493, + -1.02996856229, + -1.02996856229, + -1.00205351493, + -0.946071753046, + -0.862175810442, + -0.751682042476, + -0.618203744085, + -0.468806949751, + -0.314781322078, + -0.171470488083, + -0.0565630921629, + 0.0135510229231, + 0.0291657653681, + -0.00681975748131, + -0.0748621362032, + -0.139856733538, + -0.160080225001, + -0.104030524234, + 0.0297097044522, + 0.199811789977, + 0.328929776713, + 0.336147749719, + 0.186403833323, + -0.0701892005927, + -0.303725187923, + -0.371029296275, + -0.215631069239, + 0.0698431848024, + 0.28730759856, + 0.278292064431, + 0.0632450902161, + -0.163177302868, + -0.20712355119, + -0.064183715692, + 0.0869725135762, + 0.097181464623, + 0.0140705705356, + -0.0186675365489, + 0.0117584756702, + -0.0100162834957, + -0.0830943219296, + -0.0441368063119, + 0.115731962874, + 0.129269549308, + -0.0971467820682, + -0.19804717213, + 0.0569813811046, + 0.236433668239, + -0.0265628053593, + -0.249722313091, + 0.0229261885198 + ], + [ + -0.0465413444722, + -0.231897016338, + 0.042371824903, + 0.224819811632, + -0.00810355055671, + -0.200474211117, + -0.0428052072524, + 0.147336642136, + 0.0815189369967, + -0.0688813066715, + -0.0728727746155, + 0.00406315744529, + 0.0126211325384, + -0.0131584442809, + 0.0289190293556, + 0.0939006730967, + 0.0502219414785, + -0.102273301144, + -0.197513836457, + -0.0993504153991, + 0.130119000527, + 0.285684884743, + 0.219226111285, + -0.0289289299692, + -0.276316837551, + -0.351958557481, + -0.215437108036, + 0.0376107877657, + 0.259164209444, + 0.344193652198, + 0.276965192047, + 0.116791192043, + -0.0500473068847, + -0.156824993763, + -0.179673615591, + -0.135264521488, + -0.0630219424421, + -0.0046579751268, + 0.0102369508262, + -0.0302783487054, + -0.122267641307, + -0.251563486262, + -0.400070514742, + -0.55070208, + -0.690209763964, + -0.810068192974, + -0.906004782997, + -0.976827633112, + -1.02307429278, + -1.04581917676, + -1.04581917676, + -1.02307429278, + -0.976827633112, + -0.906004782997, + -0.810068192974, + -0.690209763964, + -0.55070208, + -0.400070514742, + -0.251563486262, + -0.122267641307, + -0.0302783487054, + 0.0102369508262, + -0.0046579751268, + -0.0630219424421, + -0.135264521488, + -0.179673615591, + -0.156824993763, + -0.0500473068847, + 0.116791192043, + 0.276965192047, + 0.344193652198, + 0.259164209444, + 0.0376107877657, + -0.215437108036, + -0.351958557481, + -0.276316837551, + -0.0289289299692, + 0.219226111285, + 0.285684884743, + 0.130119000527, + -0.0993504153991, + -0.197513836457, + -0.102273301144, + 0.0502219414785, + 0.0939006730967, + 0.0289190293556, + -0.0131584442809, + 0.0126211325384, + 0.00406315744529, + -0.0728727746155, + -0.0688813066715, + 0.0815189369967, + 0.147336642136, + -0.0428052072524, + -0.200474211117, + -0.00810355055671, + 0.224819811632, + 0.042371824903, + -0.231897016338, + -0.0465413444722 + ], + [ + -0.0963486581888, + -0.196125834482, + 0.0921765674204, + 0.19456076335, + -0.0581559972975, + -0.183473202566, + 0.00367845304977, + 0.147567622331, + 0.0470954871374, + -0.0817370145036, + -0.0580116380857, + 0.0146965653235, + 0.0121073745766, + -0.00760466768543, + 0.0378292512019, + 0.0824858554933, + 0.0166651589083, + -0.12254363648, + -0.171374751037, + -0.0398220604882, + 0.170501245352, + 0.264640435472, + 0.144925717308, + -0.104203747816, + -0.298350627688, + -0.303810584728, + -0.12516252667, + 0.119813110659, + 0.292893917087, + 0.318422229308, + 0.20940911793, + 0.0390615517108, + -0.109875169328, + -0.185163994023, + -0.179054078214, + -0.119004753391, + -0.047405418788, + -0.00242032891001, + -0.00674731251999, + -0.0652606351444, + -0.168882283802, + -0.301015967197, + -0.443622724227, + -0.581397317775, + -0.703729999742, + -0.804879010548, + -0.883043510483, + -0.938976665585, + -0.974591988982, + -0.991818989345, + -0.991818989345, + -0.974591988982, + -0.938976665585, + -0.883043510483, + -0.804879010548, + -0.703729999742, + -0.581397317775, + -0.443622724227, + -0.301015967197, + -0.168882283802, + -0.0652606351444, + -0.00674731251999, + -0.00242032891001, + -0.047405418788, + -0.119004753391, + -0.179054078214, + -0.185163994023, + -0.109875169328, + 0.0390615517108, + 0.20940911793, + 0.318422229308, + 0.292893917087, + 0.119813110659, + -0.12516252667, + -0.303810584728, + -0.298350627688, + -0.104203747816, + 0.144925717308, + 0.264640435472, + 0.170501245352, + -0.0398220604882, + -0.171374751037, + -0.12254363648, + 0.0166651589083, + 0.0824858554933, + 0.0378292512019, + -0.00760466768543, + 0.0121073745766, + 0.0146965653235, + -0.0580116380857, + -0.0817370145036, + 0.0470954871374, + 0.147567622331, + 0.00367845304977, + -0.183473202566, + -0.0581559972975, + 0.19456076335, + 0.0921765674204, + -0.196125834482, + -0.0963486581888 + ], + [ + -0.124492408757, + -0.152818366409, + 0.120694801813, + 0.155427768518, + -0.0898313141654, + -0.155031549208, + 0.0374894745006, + 0.134902443203, + 0.0177110677732, + -0.0840768613925, + -0.0420439594867, + 0.0212382766408, + 0.0106772239662, + -0.00285673499396, + 0.0411033055924, + 0.0669137092547, + -0.00951435230044, + -0.126856653854, + -0.137215359343, + 0.00759598584826, + 0.185569856681, + 0.226140931268, + 0.0773459991369, + -0.1510049046, + -0.288913900683, + -0.241758792089, + -0.0471098834974, + 0.17084663156, + 0.292921343448, + 0.27173123213, + 0.140619196326, + -0.0229811021503, + -0.145880109445, + -0.19103373187, + -0.163437414466, + -0.0964435544774, + -0.0312874756191, + -0.000459877383807, + -0.0197212114264, + -0.0882804293202, + -0.193909169015, + -0.319447041753, + -0.448231309912, + -0.567388633928, + -0.669009842463, + -0.749790653826, + -0.809845259791, + -0.851270993951, + -0.87683018745, + -0.888926023679, + -0.888926023679, + -0.87683018745, + -0.851270993951, + -0.809845259791, + -0.749790653826, + -0.669009842463, + -0.567388633928, + -0.448231309912, + -0.319447041753, + -0.193909169015, + -0.0882804293202, + -0.0197212114264, + -0.000459877383807, + -0.0312874756191, + -0.0964435544774, + -0.163437414466, + -0.19103373187, + -0.145880109445, + -0.0229811021503, + 0.140619196326, + 0.27173123213, + 0.292921343448, + 0.17084663156, + -0.0471098834974, + -0.241758792089, + -0.288913900683, + -0.1510049046, + 0.0773459991369, + 0.226140931268, + 0.185569856681, + 0.00759598584826, + -0.137215359343, + -0.126856653854, + -0.00951435230044, + 0.0669137092547, + 0.0411033055924, + -0.00285673499396, + 0.0106772239662, + 0.0212382766408, + -0.0420439594867, + -0.0840768613925, + 0.0177110677732, + 0.134902443203, + 0.0374894745006, + -0.155031549208, + -0.0898313141654, + 0.155427768518, + 0.120694801813, + -0.152818366409, + -0.124492408757 + ], + [ + -0.132873874669, + -0.11018123906, + 0.129666457258, + 0.115398058059, + -0.103623136871, + -0.122303325673, + 0.0572614364283, + 0.114644147197, + -0.00382046549247, + -0.0784192146018, + -0.0275426848741, + 0.0238645510058, + 0.00878227303608, + 0.000626631544554, + 0.0397960756986, + 0.0505255824514, + -0.0265690325189, + -0.118888141308, + -0.102066138559, + 0.0393760707397, + 0.179942565719, + 0.180351591737, + 0.0243694638935, + -0.170189238544, + -0.257688559032, + -0.178372713234, + 0.0107205877603, + 0.191520337546, + 0.268002604458, + 0.21625311877, + 0.0808403556305, + -0.0643546240941, + -0.158840195268, + -0.179163727705, + -0.138761388215, + -0.0723760844407, + -0.0171314460925, + 0.00100167860583, + -0.0276910468382, + -0.0985675737481, + -0.198179769606, + -0.310303473264, + -0.420492849673, + -0.518508513197, + -0.598866544394, + -0.660150106603, + -0.703744104362, + -0.732481924804, + -0.749481525681, + -0.757280216489, + -0.757280216489, + -0.749481525681, + -0.732481924804, + -0.703744104362, + -0.660150106603, + -0.598866544394, + -0.518508513197, + -0.420492849673, + -0.310303473264, + -0.198179769606, + -0.0985675737481, + -0.0276910468382, + 0.00100167860583, + -0.0171314460925, + -0.0723760844407, + -0.138761388215, + -0.179163727705, + -0.158840195268, + -0.0643546240941, + 0.0808403556305, + 0.21625311877, + 0.268002604458, + 0.191520337546, + 0.0107205877603, + -0.178372713234, + -0.257688559032, + -0.170189238544, + 0.0243694638935, + 0.180351591737, + 0.179942565719, + 0.0393760707397, + -0.102066138559, + -0.118888141308, + -0.0265690325189, + 0.0505255824514, + 0.0397960756986, + 0.000626631544554, + 0.00878227303608, + 0.0238645510058, + -0.0275426848741, + -0.0784192146018, + -0.00382046549247, + 0.114644147197, + 0.0572614364283, + -0.122303325673, + -0.103623136871, + 0.115398058059, + 0.129666457258, + -0.11018123906, + -0.132873874669 + ], + [ + -0.125420104096, + -0.0734568037818, + 0.122884643472, + 0.0797803695866, + -0.102287915197, + -0.0905258300632, + 0.064017009326, + 0.0912780208222, + -0.016736449357, + -0.0674929881017, + -0.0159843935163, + 0.0232232592671, + 0.00678023193667, + 0.00271830181201, + 0.0352194632877, + 0.0356145185167, + -0.0345982193255, + -0.102712073593, + -0.0706625763074, + 0.0553332418546, + 0.159459047613, + 0.134934495546, + -0.0108061418827, + -0.166067191091, + -0.214009868963, + -0.12213307618, + 0.0457705568236, + 0.186471587415, + 0.22732500118, + 0.161265536487, + 0.0357260212026, + -0.0844687599653, + -0.152345399276, + -0.15511566645, + -0.110283217042, + -0.0503143802807, + -0.00640996263647, + 0.00186941808983, + -0.030545592061, + -0.0970255794173, + -0.184556889999, + -0.278930186988, + -0.368342262941, + -0.445073571504, + -0.505604694394, + -0.549790346779, + -0.579661867442, + -0.5982472093, + -0.608605409592, + -0.613133658844, + -0.613133658844, + -0.608605409592, + -0.5982472093, + -0.579661867442, + -0.549790346779, + -0.505604694394, + -0.445073571504, + -0.368342262941, + -0.278930186988, + -0.184556889999, + -0.0970255794173, + -0.030545592061, + 0.00186941808983, + -0.00640996263647, + -0.0503143802807, + -0.110283217042, + -0.15511566645, + -0.152345399276, + -0.0844687599653, + 0.0357260212026, + 0.161265536487, + 0.22732500118, + 0.186471587415, + 0.0457705568236, + -0.12213307618, + -0.214009868963, + -0.166067191091, + -0.0108061418827, + 0.134934495546, + 0.159459047613, + 0.0553332418546, + -0.0706625763074, + -0.102712073593, + -0.0345982193255, + 0.0356145185167, + 0.0352194632877, + 0.00271830181201, + 0.00678023193667, + 0.0232232592671, + -0.0159843935163, + -0.0674929881017, + -0.016736449357, + 0.0912780208222, + 0.064017009326, + -0.0905258300632, + -0.102287915197, + 0.0797803695866, + 0.122884643472, + -0.0734568037818, + -0.125420104096 + ], + [ + -0.106561042075, + -0.0450406111583, + 0.104688319705, + 0.051206732864, + -0.0894575757967, + -0.0627394082439, + 0.0600664303147, + 0.0679190419066, + -0.0216956559574, + -0.0536332439678, + -0.00787992394099, + 0.0201310067469, + 0.00490157113737, + 0.0035220203604, + 0.0285929142207, + 0.023378970377, + -0.0348333853359, + -0.0818660418109, + -0.0453954398584, + 0.0574058743663, + 0.129596936615, + 0.0945081100646, + -0.0285337973662, + -0.144282787677, + -0.165193542607, + -0.0773122547709, + 0.0594034614525, + 0.161858288473, + 0.178573988609, + 0.112443283946, + 0.00691610522056, + -0.0856526605097, + -0.131098170435, + -0.123918445601, + -0.0818105582019, + -0.0322614659652, + 0.000336579472433, + 0.00215061805891, + -0.0287877453397, + -0.0855316209408, + -0.156790174769, + -0.231063501625, + -0.299316029283, + -0.356058002199, + -0.399217978894, + -0.429340298451, + -0.44856377868, + -0.459671437305, + -0.465341892259, + -0.467626304234, + -0.467626304234, + -0.465341892259, + -0.459671437305, + -0.44856377868, + -0.429340298451, + -0.399217978894, + -0.356058002199, + -0.299316029283, + -0.231063501625, + -0.156790174769, + -0.0855316209408, + -0.0287877453397, + 0.00215061805891, + 0.000336579472433, + -0.0322614659652, + -0.0818105582019, + -0.123918445601, + -0.131098170435, + -0.0856526605097, + 0.00691610522056, + 0.112443283946, + 0.178573988609, + 0.161858288473, + 0.0594034614525, + -0.0773122547709, + -0.165193542607, + -0.144282787677, + -0.0285337973662, + 0.0945081100646, + 0.129596936615, + 0.0574058743663, + -0.0453954398584, + -0.0818660418109, + -0.0348333853359, + 0.023378970377, + 0.0285929142207, + 0.0035220203604, + 0.00490157113737, + 0.0201310067469, + -0.00787992394099, + -0.0536332439678, + -0.0216956559574, + 0.0679190419066, + 0.0600664303147, + -0.0627394082439, + -0.0894575757967, + 0.051206732864, + 0.104688319705, + -0.0450406111583, + -0.106561042075 + ], + [ + -0.0802632281374, + -0.0250507040093, + 0.0789970436683, + 0.0300993087637, + -0.0686850251087, + -0.0400128188055, + 0.0481449556978, + 0.0462342512678, + -0.0201642449206, + -0.0385013861787, + -0.00301993441623, + 0.0153683029595, + 0.00325262689385, + 0.00327347477158, + 0.0208573150813, + 0.0140885839827, + -0.0290245240807, + -0.0589032537106, + -0.0266940872976, + 0.0485736732115, + 0.0946135632615, + 0.0608665634686, + -0.0314328070137, + -0.110341076531, + -0.115909806795, + -0.0446395096075, + 0.0553267346202, + 0.123733843851, + 0.127050719997, + 0.0720370885987, + -0.00692841851454, + -0.0717745569, + -0.0997019129117, + -0.0893302474852, + -0.0554706725917, + -0.0188150238803, + 0.00331864737097, + 0.00192419915904, + -0.0232805236266, + -0.0663740484002, + -0.118708895748, + -0.171891727311, + -0.21960329431, + -0.258239528888, + -0.286700475509, + -0.305734031142, + -0.317163862163, + -0.323199129038, + -0.325905568064, + -0.326842769549, + -0.326842769549, + -0.325905568064, + -0.323199129038, + -0.317163862163, + -0.305734031142, + -0.286700475509, + -0.258239528888, + -0.21960329431, + -0.171891727311, + -0.118708895748, + -0.0663740484002, + -0.0232805236266, + 0.00192419915904, + 0.00331864737097, + -0.0188150238803, + -0.0554706725917, + -0.0893302474852, + -0.0997019129117, + -0.0717745569, + -0.00692841851454, + 0.0720370885987, + 0.127050719997, + 0.123733843851, + 0.0553267346202, + -0.0446395096075, + -0.115909806795, + -0.110341076531, + -0.0314328070137, + 0.0608665634686, + 0.0946135632615, + 0.0485736732115, + -0.0266940872976, + -0.0589032537106, + -0.0290245240807, + 0.0140885839827, + 0.0208573150813, + 0.00327347477158, + 0.00325262689385, + 0.0153683029595, + -0.00301993441623, + -0.0385013861787, + -0.0201642449206, + 0.0462342512678, + 0.0481449556978, + -0.0400128188055, + -0.0686850251087, + 0.0300993087637, + 0.0789970436683, + -0.0250507040093, + -0.0802632281374 + ], + [ + -0.0496021887203, + -0.0120156119636, + 0.0488762058016, + 0.0152931096875, + -0.0429566360176, + -0.0218984915538, + 0.0308872658122, + 0.0266493669137, + -0.0139551842824, + -0.0230531593558, + -0.000727011142991, + 0.00957798605477, + 0.00183842696974, + 0.00226569390594, + 0.0126245002567, + 0.00732999850358, + -0.0190281588488, + -0.0353239121167, + -0.013563039952, + 0.0321084934149, + 0.0572995399822, + 0.0335759754119, + -0.0233227792175, + -0.0688498190777, + -0.0682988155589, + -0.0222548076906, + 0.0383537772264, + 0.077195219856, + 0.0755989317532, + 0.0395425200263, + -0.00907092840231, + -0.0472385770744, + -0.062016907544, + -0.0536400676448, + -0.0318512331622, + -0.0094442967549, + 0.00328265261292, + 0.00131322124945, + -0.0150559336279, + -0.0418907852169, + -0.0737842835915, + -0.10564719507, + -0.133758271541, + -0.156093255466, + -0.172149669431, + -0.182520928469, + -0.18841787018, + -0.191251803964, + -0.192320792175, + -0.192596940127, + -0.192596940127, + -0.192320792175, + -0.191251803964, + -0.18841787018, + -0.182520928469, + -0.172149669431, + -0.156093255466, + -0.133758271541, + -0.10564719507, + -0.0737842835915, + -0.0418907852169, + -0.0150559336279, + 0.00131322124945, + 0.00328265261292, + -0.0094442967549, + -0.0318512331622, + -0.0536400676448, + -0.062016907544, + -0.0472385770744, + -0.00907092840231, + 0.0395425200263, + 0.0755989317532, + 0.077195219856, + 0.0383537772264, + -0.0222548076906, + -0.0682988155589, + -0.0688498190777, + -0.0233227792175, + 0.0335759754119, + 0.0572995399822, + 0.0321084934149, + -0.013563039952, + -0.0353239121167, + -0.0190281588488, + 0.00732999850358, + 0.0126245002567, + 0.00226569390594, + 0.00183842696974, + 0.00957798605477, + -0.000727011142991, + -0.0230531593558, + -0.0139551842824, + 0.0266493669137, + 0.0308872658122, + -0.0218984915538, + -0.0429566360176, + 0.0152931096875, + 0.0488762058016, + -0.0120156119636, + -0.0496021887203 + ], + [ + -0.0167519616689, + -0.00348738812193, + 0.0165160936358, + 0.00462017902929, + -0.0145915363949, + -0.00692981252492, + 0.0106182109858, + 0.00868349390843, + -0.00495907919852, + -0.00766372482812, + -0.000057864654151, + 0.00324801050989, + 0.000592605303657, + 0.000805178914568, + 0.00421996052094, + 0.00224868370784, + -0.00660622187443, + -0.0117522626993, + -0.00409697942241, + 0.0111887159152, + 0.0191587474844, + 0.0106733930486, + -0.00851998433847, + -0.0233618528559, + -0.0225167142481, + -0.00663560312644, + 0.0136412958789, + 0.0261923979539, + 0.0250503970996, + 0.0125316595367, + -0.00385710232202, + -0.0164329660093, + -0.0210134446749, + -0.0178574519952, + -0.0103538427657, + -0.00282562339034, + 0.0013151277659, + 0.000464485590304, + -0.00519954191978, + -0.0143025307783, + -0.0250072802952, + -0.0356104075348, + -0.044884849547, + -0.0521799681279, + -0.0573550174301, + -0.0606319537745, + -0.0624336054036, + -0.0632444158591, + -0.0635066094609, + -0.0635501555742, + -0.0635501555742, + -0.0635066094609, + -0.0632444158591, + -0.0624336054036, + -0.0606319537745, + -0.0573550174301, + -0.0521799681279, + -0.044884849547, + -0.0356104075348, + -0.0250072802952, + -0.0143025307783, + -0.00519954191978, + 0.000464485590304, + 0.0013151277659, + -0.00282562339034, + -0.0103538427657, + -0.0178574519952, + -0.0210134446749, + -0.0164329660093, + -0.00385710232202, + 0.0125316595367, + 0.0250503970996, + 0.0261923979539, + 0.0136412958789, + -0.00663560312644, + -0.0225167142481, + -0.0233618528559, + -0.00851998433847, + 0.0106733930486, + 0.0191587474844, + 0.0111887159152, + -0.00409697942241, + -0.0117522626993, + -0.00660622187443, + 0.00224868370784, + 0.00421996052094, + 0.000805178914568, + 0.000592605303657, + 0.00324801050989, + -0.0000578646541511, + -0.00766372482812, + -0.00495907919852, + 0.00868349390843, + 0.0106182109858, + -0.00692981252492, + -0.0145915363949, + 0.00462017902929, + 0.0165160936358, + -0.00348738812193, + -0.0167519616689 + ], + [ + 0.0167519616689, + 0.00348738812193, + -0.0165160936358, + -0.00462017902929, + 0.0145915363949, + 0.00692981252492, + -0.0106182109858, + -0.00868349390843, + 0.00495907919852, + 0.00766372482812, + 0.000057864654151, + -0.00324801050989, + -0.000592605303657, + -0.000805178914568, + -0.00421996052094, + -0.00224868370784, + 0.00660622187443, + 0.0117522626993, + 0.00409697942241, + -0.0111887159152, + -0.0191587474844, + -0.0106733930486, + 0.00851998433847, + 0.0233618528559, + 0.0225167142481, + 0.00663560312644, + -0.0136412958789, + -0.0261923979539, + -0.0250503970996, + -0.0125316595367, + 0.00385710232202, + 0.0164329660093, + 0.0210134446749, + 0.0178574519952, + 0.0103538427657, + 0.00282562339034, + -0.0013151277659, + -0.000464485590304, + 0.00519954191978, + 0.0143025307783, + 0.0250072802952, + 0.0356104075348, + 0.044884849547, + 0.0521799681279, + 0.0573550174301, + 0.0606319537745, + 0.0624336054036, + 0.0632444158591, + 0.0635066094609, + 0.0635501555742, + 0.0635501555742, + 0.0635066094609, + 0.0632444158591, + 0.0624336054036, + 0.0606319537745, + 0.0573550174301, + 0.0521799681279, + 0.044884849547, + 0.0356104075348, + 0.0250072802952, + 0.0143025307783, + 0.00519954191978, + -0.000464485590304, + -0.0013151277659, + 0.00282562339034, + 0.0103538427657, + 0.0178574519952, + 0.0210134446749, + 0.0164329660093, + 0.00385710232202, + -0.0125316595367, + -0.0250503970996, + -0.0261923979539, + -0.0136412958789, + 0.00663560312644, + 0.0225167142481, + 0.0233618528559, + 0.00851998433847, + -0.0106733930486, + -0.0191587474844, + -0.0111887159152, + 0.00409697942241, + 0.0117522626993, + 0.00660622187443, + -0.00224868370784, + -0.00421996052094, + -0.000805178914568, + -0.000592605303657, + -0.00324801050989, + 0.0000578646541511, + 0.00766372482812, + 0.00495907919852, + -0.00868349390843, + -0.0106182109858, + 0.00692981252492, + 0.0145915363949, + -0.00462017902929, + -0.0165160936358, + 0.00348738812193, + 0.0167519616689 + ], + [ + 0.0496021887203, + 0.0120156119636, + -0.0488762058016, + -0.0152931096875, + 0.0429566360176, + 0.0218984915538, + -0.0308872658122, + -0.0266493669137, + 0.0139551842824, + 0.0230531593558, + 0.000727011142991, + -0.00957798605477, + -0.00183842696974, + -0.00226569390594, + -0.0126245002567, + -0.00732999850358, + 0.0190281588488, + 0.0353239121167, + 0.013563039952, + -0.0321084934149, + -0.0572995399822, + -0.0335759754119, + 0.0233227792175, + 0.0688498190777, + 0.0682988155589, + 0.0222548076906, + -0.0383537772264, + -0.077195219856, + -0.0755989317532, + -0.0395425200263, + 0.00907092840231, + 0.0472385770744, + 0.062016907544, + 0.0536400676448, + 0.0318512331622, + 0.0094442967549, + -0.00328265261292, + -0.00131322124945, + 0.0150559336279, + 0.0418907852169, + 0.0737842835915, + 0.10564719507, + 0.133758271541, + 0.156093255466, + 0.172149669431, + 0.182520928469, + 0.18841787018, + 0.191251803964, + 0.192320792175, + 0.192596940127, + 0.192596940127, + 0.192320792175, + 0.191251803964, + 0.18841787018, + 0.182520928469, + 0.172149669431, + 0.156093255466, + 0.133758271541, + 0.10564719507, + 0.0737842835915, + 0.0418907852169, + 0.0150559336279, + -0.00131322124945, + -0.00328265261292, + 0.0094442967549, + 0.0318512331622, + 0.0536400676448, + 0.062016907544, + 0.0472385770744, + 0.00907092840231, + -0.0395425200263, + -0.0755989317532, + -0.077195219856, + -0.0383537772264, + 0.0222548076906, + 0.0682988155589, + 0.0688498190777, + 0.0233227792175, + -0.0335759754119, + -0.0572995399822, + -0.0321084934149, + 0.013563039952, + 0.0353239121167, + 0.0190281588488, + -0.00732999850358, + -0.0126245002567, + -0.00226569390594, + -0.00183842696974, + -0.00957798605477, + 0.000727011142991, + 0.0230531593558, + 0.0139551842824, + -0.0266493669137, + -0.0308872658122, + 0.0218984915538, + 0.0429566360176, + -0.0152931096875, + -0.0488762058016, + 0.0120156119636, + 0.0496021887203 + ], + [ + 0.0802632281374, + 0.0250507040093, + -0.0789970436683, + -0.0300993087637, + 0.0686850251087, + 0.0400128188055, + -0.0481449556978, + -0.0462342512678, + 0.0201642449206, + 0.0385013861787, + 0.00301993441623, + -0.0153683029595, + -0.00325262689385, + -0.00327347477158, + -0.0208573150813, + -0.0140885839827, + 0.0290245240807, + 0.0589032537106, + 0.0266940872976, + -0.0485736732115, + -0.0946135632615, + -0.0608665634686, + 0.0314328070137, + 0.110341076531, + 0.115909806795, + 0.0446395096075, + -0.0553267346202, + -0.123733843851, + -0.127050719997, + -0.0720370885987, + 0.00692841851454, + 0.0717745569, + 0.0997019129117, + 0.0893302474852, + 0.0554706725917, + 0.0188150238803, + -0.00331864737097, + -0.00192419915904, + 0.0232805236266, + 0.0663740484002, + 0.118708895748, + 0.171891727311, + 0.21960329431, + 0.258239528888, + 0.286700475509, + 0.305734031142, + 0.317163862163, + 0.323199129038, + 0.325905568064, + 0.326842769549, + 0.326842769549, + 0.325905568064, + 0.323199129038, + 0.317163862163, + 0.305734031142, + 0.286700475509, + 0.258239528888, + 0.21960329431, + 0.171891727311, + 0.118708895748, + 0.0663740484002, + 0.0232805236266, + -0.00192419915904, + -0.00331864737097, + 0.0188150238803, + 0.0554706725917, + 0.0893302474852, + 0.0997019129117, + 0.0717745569, + 0.00692841851454, + -0.0720370885987, + -0.127050719997, + -0.123733843851, + -0.0553267346202, + 0.0446395096075, + 0.115909806795, + 0.110341076531, + 0.0314328070137, + -0.0608665634686, + -0.0946135632615, + -0.0485736732115, + 0.0266940872976, + 0.0589032537106, + 0.0290245240807, + -0.0140885839827, + -0.0208573150813, + -0.00327347477158, + -0.00325262689385, + -0.0153683029595, + 0.00301993441623, + 0.0385013861787, + 0.0201642449206, + -0.0462342512678, + -0.0481449556978, + 0.0400128188055, + 0.0686850251087, + -0.0300993087637, + -0.0789970436683, + 0.0250507040093, + 0.0802632281374 + ], + [ + 0.106561042075, + 0.0450406111583, + -0.104688319705, + -0.051206732864, + 0.0894575757967, + 0.0627394082439, + -0.0600664303147, + -0.0679190419066, + 0.0216956559574, + 0.0536332439678, + 0.00787992394099, + -0.0201310067469, + -0.00490157113737, + -0.0035220203604, + -0.0285929142207, + -0.023378970377, + 0.0348333853359, + 0.0818660418109, + 0.0453954398584, + -0.0574058743663, + -0.129596936615, + -0.0945081100646, + 0.0285337973662, + 0.144282787677, + 0.165193542607, + 0.0773122547709, + -0.0594034614525, + -0.161858288473, + -0.178573988609, + -0.112443283946, + -0.00691610522056, + 0.0856526605097, + 0.131098170435, + 0.123918445601, + 0.0818105582019, + 0.0322614659652, + -0.000336579472433, + -0.00215061805891, + 0.0287877453397, + 0.0855316209408, + 0.156790174769, + 0.231063501625, + 0.299316029283, + 0.356058002199, + 0.399217978894, + 0.429340298451, + 0.44856377868, + 0.459671437305, + 0.465341892259, + 0.467626304234, + 0.467626304234, + 0.465341892259, + 0.459671437305, + 0.44856377868, + 0.429340298451, + 0.399217978894, + 0.356058002199, + 0.299316029283, + 0.231063501625, + 0.156790174769, + 0.0855316209408, + 0.0287877453397, + -0.00215061805891, + -0.000336579472433, + 0.0322614659652, + 0.0818105582019, + 0.123918445601, + 0.131098170435, + 0.0856526605097, + -0.00691610522056, + -0.112443283946, + -0.178573988609, + -0.161858288473, + -0.0594034614525, + 0.0773122547709, + 0.165193542607, + 0.144282787677, + 0.0285337973662, + -0.0945081100646, + -0.129596936615, + -0.0574058743663, + 0.0453954398584, + 0.0818660418109, + 0.0348333853359, + -0.023378970377, + -0.0285929142207, + -0.0035220203604, + -0.00490157113737, + -0.0201310067469, + 0.00787992394099, + 0.0536332439678, + 0.0216956559574, + -0.0679190419066, + -0.0600664303147, + 0.0627394082439, + 0.0894575757967, + -0.051206732864, + -0.104688319705, + 0.0450406111583, + 0.106561042075 + ], + [ + 0.125420104096, + 0.0734568037818, + -0.122884643472, + -0.0797803695866, + 0.102287915197, + 0.0905258300632, + -0.064017009326, + -0.0912780208222, + 0.016736449357, + 0.0674929881017, + 0.0159843935163, + -0.0232232592671, + -0.00678023193667, + -0.00271830181201, + -0.0352194632877, + -0.0356145185167, + 0.0345982193255, + 0.102712073593, + 0.0706625763074, + -0.0553332418546, + -0.159459047613, + -0.134934495546, + 0.0108061418827, + 0.166067191091, + 0.214009868963, + 0.12213307618, + -0.0457705568236, + -0.186471587415, + -0.22732500118, + -0.161265536487, + -0.0357260212026, + 0.0844687599653, + 0.152345399276, + 0.15511566645, + 0.110283217042, + 0.0503143802807, + 0.00640996263647, + -0.00186941808983, + 0.030545592061, + 0.0970255794173, + 0.184556889999, + 0.278930186988, + 0.368342262941, + 0.445073571504, + 0.505604694394, + 0.549790346779, + 0.579661867442, + 0.5982472093, + 0.608605409592, + 0.613133658844, + 0.613133658844, + 0.608605409592, + 0.5982472093, + 0.579661867442, + 0.549790346779, + 0.505604694394, + 0.445073571504, + 0.368342262941, + 0.278930186988, + 0.184556889999, + 0.0970255794173, + 0.030545592061, + -0.00186941808983, + 0.00640996263647, + 0.0503143802807, + 0.110283217042, + 0.15511566645, + 0.152345399276, + 0.0844687599653, + -0.0357260212026, + -0.161265536487, + -0.22732500118, + -0.186471587415, + -0.0457705568236, + 0.12213307618, + 0.214009868963, + 0.166067191091, + 0.0108061418827, + -0.134934495546, + -0.159459047613, + -0.0553332418546, + 0.0706625763074, + 0.102712073593, + 0.0345982193255, + -0.0356145185167, + -0.0352194632877, + -0.00271830181201, + -0.00678023193667, + -0.0232232592671, + 0.0159843935163, + 0.0674929881017, + 0.016736449357, + -0.0912780208222, + -0.064017009326, + 0.0905258300632, + 0.102287915197, + -0.0797803695866, + -0.122884643472, + 0.0734568037818, + 0.125420104096 + ], + [ + 0.132873874669, + 0.11018123906, + -0.129666457258, + -0.115398058059, + 0.103623136871, + 0.122303325673, + -0.0572614364283, + -0.114644147197, + 0.00382046549247, + 0.0784192146018, + 0.0275426848741, + -0.0238645510058, + -0.00878227303608, + -0.000626631544554, + -0.0397960756986, + -0.0505255824514, + 0.0265690325189, + 0.118888141308, + 0.102066138559, + -0.0393760707397, + -0.179942565719, + -0.180351591737, + -0.0243694638935, + 0.170189238544, + 0.257688559032, + 0.178372713234, + -0.0107205877603, + -0.191520337546, + -0.268002604458, + -0.21625311877, + -0.0808403556305, + 0.0643546240941, + 0.158840195268, + 0.179163727705, + 0.138761388215, + 0.0723760844407, + 0.0171314460925, + -0.00100167860583, + 0.0276910468382, + 0.0985675737481, + 0.198179769606, + 0.310303473264, + 0.420492849673, + 0.518508513197, + 0.598866544394, + 0.660150106603, + 0.703744104362, + 0.732481924804, + 0.749481525681, + 0.757280216489, + 0.757280216489, + 0.749481525681, + 0.732481924804, + 0.703744104362, + 0.660150106603, + 0.598866544394, + 0.518508513197, + 0.420492849673, + 0.310303473264, + 0.198179769606, + 0.0985675737481, + 0.0276910468382, + -0.00100167860583, + 0.0171314460925, + 0.0723760844407, + 0.138761388215, + 0.179163727705, + 0.158840195268, + 0.0643546240941, + -0.0808403556305, + -0.21625311877, + -0.268002604458, + -0.191520337546, + -0.0107205877603, + 0.178372713234, + 0.257688559032, + 0.170189238544, + -0.0243694638935, + -0.180351591737, + -0.179942565719, + -0.0393760707397, + 0.102066138559, + 0.118888141308, + 0.0265690325189, + -0.0505255824514, + -0.0397960756986, + -0.000626631544554, + -0.00878227303608, + -0.0238645510058, + 0.0275426848741, + 0.0784192146018, + 0.00382046549247, + -0.114644147197, + -0.0572614364283, + 0.122303325673, + 0.103623136871, + -0.115398058059, + -0.129666457258, + 0.11018123906, + 0.132873874669 + ], + [ + 0.124492408757, + 0.152818366409, + -0.120694801813, + -0.155427768518, + 0.0898313141654, + 0.155031549208, + -0.0374894745006, + -0.134902443203, + -0.0177110677732, + 0.0840768613925, + 0.0420439594867, + -0.0212382766408, + -0.0106772239662, + 0.00285673499396, + -0.0411033055924, + -0.0669137092547, + 0.00951435230044, + 0.126856653854, + 0.137215359343, + -0.00759598584826, + -0.185569856681, + -0.226140931268, + -0.0773459991369, + 0.1510049046, + 0.288913900683, + 0.241758792089, + 0.0471098834974, + -0.17084663156, + -0.292921343448, + -0.27173123213, + -0.140619196326, + 0.0229811021503, + 0.145880109445, + 0.19103373187, + 0.163437414466, + 0.0964435544774, + 0.0312874756191, + 0.000459877383807, + 0.0197212114264, + 0.0882804293202, + 0.193909169015, + 0.319447041753, + 0.448231309912, + 0.567388633928, + 0.669009842463, + 0.749790653826, + 0.809845259791, + 0.851270993951, + 0.87683018745, + 0.888926023679, + 0.888926023679, + 0.87683018745, + 0.851270993951, + 0.809845259791, + 0.749790653826, + 0.669009842463, + 0.567388633928, + 0.448231309912, + 0.319447041753, + 0.193909169015, + 0.0882804293202, + 0.0197212114264, + 0.000459877383807, + 0.0312874756191, + 0.0964435544774, + 0.163437414466, + 0.19103373187, + 0.145880109445, + 0.0229811021503, + -0.140619196326, + -0.27173123213, + -0.292921343448, + -0.17084663156, + 0.0471098834974, + 0.241758792089, + 0.288913900683, + 0.1510049046, + -0.0773459991369, + -0.226140931268, + -0.185569856681, + -0.00759598584826, + 0.137215359343, + 0.126856653854, + 0.00951435230044, + -0.0669137092547, + -0.0411033055924, + 0.00285673499396, + -0.0106772239662, + -0.0212382766408, + 0.0420439594867, + 0.0840768613925, + -0.0177110677732, + -0.134902443203, + -0.0374894745006, + 0.155031549208, + 0.0898313141654, + -0.155427768518, + -0.120694801813, + 0.152818366409, + 0.124492408757 + ], + [ + 0.0963486581888, + 0.196125834482, + -0.0921765674204, + -0.19456076335, + 0.0581559972975, + 0.183473202566, + -0.00367845304977, + -0.147567622331, + -0.0470954871374, + 0.0817370145036, + 0.0580116380857, + -0.0146965653235, + -0.0121073745766, + 0.00760466768543, + -0.0378292512019, + -0.0824858554933, + -0.0166651589083, + 0.12254363648, + 0.171374751037, + 0.0398220604882, + -0.170501245352, + -0.264640435472, + -0.144925717308, + 0.104203747816, + 0.298350627688, + 0.303810584728, + 0.12516252667, + -0.119813110659, + -0.292893917087, + -0.318422229308, + -0.20940911793, + -0.0390615517108, + 0.109875169328, + 0.185163994023, + 0.179054078214, + 0.119004753391, + 0.047405418788, + 0.00242032891001, + 0.00674731251999, + 0.0652606351444, + 0.168882283802, + 0.301015967197, + 0.443622724227, + 0.581397317775, + 0.703729999742, + 0.804879010548, + 0.883043510483, + 0.938976665585, + 0.974591988982, + 0.991818989345, + 0.991818989345, + 0.974591988982, + 0.938976665585, + 0.883043510483, + 0.804879010548, + 0.703729999742, + 0.581397317775, + 0.443622724227, + 0.301015967197, + 0.168882283802, + 0.0652606351444, + 0.00674731251999, + 0.00242032891001, + 0.047405418788, + 0.119004753391, + 0.179054078214, + 0.185163994023, + 0.109875169328, + -0.0390615517108, + -0.20940911793, + -0.318422229308, + -0.292893917087, + -0.119813110659, + 0.12516252667, + 0.303810584728, + 0.298350627688, + 0.104203747816, + -0.144925717308, + -0.264640435472, + -0.170501245352, + 0.0398220604882, + 0.171374751037, + 0.12254363648, + -0.0166651589083, + -0.0824858554933, + -0.0378292512019, + 0.00760466768543, + -0.0121073745766, + -0.0146965653235, + 0.0580116380857, + 0.0817370145036, + -0.0470954871374, + -0.147567622331, + -0.00367845304977, + 0.183473202566, + 0.0581559972975, + -0.19456076335, + -0.0921765674204, + 0.196125834482, + 0.0963486581888 + ], + [ + 0.0465413444722, + 0.231897016338, + -0.042371824903, + -0.224819811632, + 0.00810355055671, + 0.200474211117, + 0.0428052072524, + -0.147336642136, + -0.0815189369967, + 0.0688813066715, + 0.0728727746155, + -0.00406315744529, + -0.0126211325384, + 0.0131584442809, + -0.0289190293556, + -0.0939006730967, + -0.0502219414785, + 0.102273301144, + 0.197513836457, + 0.0993504153991, + -0.130119000527, + -0.285684884743, + -0.219226111285, + 0.0289289299692, + 0.276316837551, + 0.351958557481, + 0.215437108036, + -0.0376107877657, + -0.259164209444, + -0.344193652198, + -0.276965192047, + -0.116791192043, + 0.0500473068847, + 0.156824993763, + 0.179673615591, + 0.135264521488, + 0.0630219424421, + 0.0046579751268, + -0.0102369508262, + 0.0302783487054, + 0.122267641307, + 0.251563486262, + 0.400070514742, + 0.55070208, + 0.690209763964, + 0.810068192974, + 0.906004782997, + 0.976827633112, + 1.02307429278, + 1.04581917676, + 1.04581917676, + 1.02307429278, + 0.976827633112, + 0.906004782997, + 0.810068192974, + 0.690209763964, + 0.55070208, + 0.400070514742, + 0.251563486262, + 0.122267641307, + 0.0302783487054, + -0.0102369508262, + 0.0046579751268, + 0.0630219424421, + 0.135264521488, + 0.179673615591, + 0.156824993763, + 0.0500473068847, + -0.116791192043, + -0.276965192047, + -0.344193652198, + -0.259164209444, + -0.0376107877657, + 0.215437108036, + 0.351958557481, + 0.276316837551, + 0.0289289299692, + -0.219226111285, + -0.285684884743, + -0.130119000527, + 0.0993504153991, + 0.197513836457, + 0.102273301144, + -0.0502219414785, + -0.0939006730967, + -0.0289190293556, + 0.0131584442809, + -0.0126211325384, + -0.00406315744529, + 0.0728727746155, + 0.0688813066715, + -0.0815189369967, + -0.147336642136, + 0.0428052072524, + 0.200474211117, + 0.00810355055671, + -0.224819811632, + -0.042371824903, + 0.231897016338, + 0.0465413444722 + ], + [ + -0.0229261885198, + 0.249722313091, + 0.0265628053593, + -0.236433668239, + -0.0569813811046, + 0.19804717213, + 0.0971467820682, + -0.129269549308, + -0.115731962874, + 0.0441368063119, + 0.0830943219296, + 0.0100162834957, + -0.0117584756702, + 0.0186675365489, + -0.0140705705356, + -0.097181464623, + -0.0869725135762, + 0.064183715692, + 0.20712355119, + 0.163177302868, + -0.0632450902161, + -0.278292064431, + -0.28730759856, + -0.0698431848024, + 0.215631069239, + 0.371029296275, + 0.303725187923, + 0.0701892005927, + -0.186403833323, + -0.336147749719, + -0.328929776713, + -0.199811789977, + -0.0297097044522, + 0.104030524234, + 0.160080225001, + 0.139856733538, + 0.0748621362032, + 0.0068197574813, + -0.0291657653681, + -0.0135510229231, + 0.0565630921629, + 0.171470488083, + 0.314781322078, + 0.468806949751, + 0.618203744085, + 0.751682042476, + 0.862175810442, + 0.946071753046, + 1.00205351493, + 1.02996856229, + 1.02996856229, + 1.00205351493, + 0.946071753046, + 0.862175810442, + 0.751682042476, + 0.618203744085, + 0.468806949751, + 0.314781322078, + 0.171470488083, + 0.0565630921629, + -0.0135510229231, + -0.0291657653681, + 0.00681975748131, + 0.0748621362032, + 0.139856733538, + 0.160080225001, + 0.104030524234, + -0.0297097044522, + -0.199811789977, + -0.328929776713, + -0.336147749719, + -0.186403833323, + 0.0701892005927, + 0.303725187923, + 0.371029296275, + 0.215631069239, + -0.0698431848024, + -0.28730759856, + -0.278292064431, + -0.0632450902161, + 0.163177302868, + 0.20712355119, + 0.064183715692, + -0.0869725135762, + -0.097181464623, + -0.0140705705356, + 0.0186675365489, + -0.0117584756702, + 0.0100162834957, + 0.0830943219296, + 0.0441368063119, + -0.115731962874, + -0.129269549308, + 0.0971467820682, + 0.19804717213, + -0.0569813811046, + -0.236433668239, + 0.0265628053593, + 0.249722313091, + -0.0229261885198 + ], + [ + -0.104438732893, + 0.239007287068, + 0.106922969014, + -0.219896254687, + -0.128683376161, + 0.169434809354, + 0.150558949938, + -0.0905921296772, + -0.142273711825, + 0.00840207480805, + 0.0847412506504, + 0.0257898453522, + -0.00919325522488, + 0.0229282605575, + 0.00572041400194, + -0.0886100066936, + -0.120188042677, + 0.00989648209976, + 0.19205641821, + 0.219167806021, + 0.0254579903577, + -0.233675263752, + -0.332320828906, + -0.179475898255, + 0.115338404935, + 0.346527574827, + 0.370505853243, + 0.18972756472, + -0.0763301462796, + -0.284202732836, + -0.348969573623, + -0.272501039667, + -0.119448341158, + 0.0296287399547, + 0.117723606478, + 0.128119476596, + 0.0793613552872, + 0.00845330835335, + -0.0469227653134, + -0.060405819328, + -0.0213402813346, + 0.066871042956, + 0.191559731028, + 0.336115231158, + 0.484210763236, + 0.622326389573, + 0.740681935759, + 0.833042539041, + 0.895929037527, + 0.927680565952, + 0.927680565952, + 0.895929037527, + 0.833042539041, + 0.740681935759, + 0.622326389573, + 0.484210763236, + 0.336115231158, + 0.191559731028, + 0.066871042956, + -0.0213402813346, + -0.060405819328, + -0.0469227653134, + 0.00845330835335, + 0.0793613552872, + 0.128119476596, + 0.117723606478, + 0.0296287399547, + -0.119448341158, + -0.272501039667, + -0.348969573623, + -0.284202732836, + -0.0763301462796, + 0.18972756472, + 0.370505853243, + 0.346527574827, + 0.115338404935, + -0.179475898255, + -0.332320828906, + -0.233675263752, + 0.0254579903577, + 0.219167806021, + 0.19205641821, + 0.00989648209976, + -0.120188042677, + -0.0886100066936, + 0.00572041400194, + 0.0229282605575, + -0.00919325522488, + 0.0257898453522, + 0.0847412506504, + 0.00840207480805, + -0.142273711825, + -0.0905921296772, + 0.150558949938, + 0.169434809354, + -0.128683376161, + -0.219896254687, + 0.106922969014, + 0.239007287068, + -0.104438732893 + ], + [ + -0.184109663691, + 0.192321024879, + 0.184864365428, + -0.169210719292, + -0.193424632525, + 0.111996025311, + 0.190926218315, + -0.0328051007075, + -0.152667305895, + -0.0341816861824, + 0.0745319758696, + 0.0403545317848, + -0.00491328277887, + 0.0245788796427, + 0.0277660661805, + -0.0660741097782, + -0.141371264067, + -0.0540929648384, + 0.147358317608, + 0.252416213909, + 0.123803368819, + -0.149267136119, + -0.336803032534, + -0.27958824853, + -0.0156339637013, + 0.269628429515, + 0.394331484145, + 0.298866140785, + 0.0591314426294, + -0.185732120273, + -0.322859256371, + -0.316182599699, + -0.203162513876, + -0.0571470169357, + 0.0548013644165, + 0.0978185203223, + 0.0735630992652, + 0.00908873692375, + -0.0597144634447, + -0.102069510807, + -0.0999111304813, + -0.0491800495863, + 0.0430820324204, + 0.163331435995, + 0.295904916673, + 0.426179891703, + 0.542281935247, + 0.635585601762, + 0.700446932622, + 0.733606357384, + 0.733606357384, + 0.700446932622, + 0.635585601762, + 0.542281935247, + 0.426179891703, + 0.295904916673, + 0.163331435995, + 0.0430820324204, + -0.0491800495863, + -0.0999111304813, + -0.102069510807, + -0.0597144634447, + 0.00908873692375, + 0.0735630992652, + 0.0978185203223, + 0.0548013644165, + -0.0571470169357, + -0.203162513876, + -0.316182599699, + -0.322859256371, + -0.185732120273, + 0.0591314426294, + 0.298866140785, + 0.394331484145, + 0.269628429515, + -0.0156339637013, + -0.27958824853, + -0.336803032534, + -0.149267136119, + 0.123803368819, + 0.252416213909, + 0.147358317608, + -0.0540929648384, + -0.141371264067, + -0.0660741097782, + 0.0277660661805, + 0.0245788796427, + -0.00491328277887, + 0.0403545317848, + 0.0745319758696, + -0.0341816861824, + -0.152667305895, + -0.0328051007075, + 0.190926218315, + 0.111996025311, + -0.193424632525, + -0.169210719292, + 0.184864365428, + 0.192321024879, + -0.184109663691 + ], + [ + -0.243217233492, + 0.109524199527, + 0.241894582095, + -0.0857102138956, + -0.234372147983, + 0.0302076227294, + 0.205164413647, + 0.0366272645136, + -0.139743550465, + -0.0759601076083, + 0.0512725401009, + 0.0500413998718, + 0.000615530500891, + 0.0224749586686, + 0.0477255803509, + -0.030588318591, + -0.142199307728, + -0.116120983052, + 0.0745290900127, + 0.248816788564, + 0.212362347668, + -0.0326780752372, + -0.288161422341, + -0.344960399296, + -0.156549244259, + 0.142865224723, + 0.357927951103, + 0.370416148074, + 0.196819887631, + -0.0499745209773, + -0.244063489206, + -0.313675703043, + -0.261067486648, + -0.140666031186, + -0.0202866652535, + 0.0509081867133, + 0.0562752525194, + 0.00836992027957, + -0.0638786995872, + -0.12923843175, + -0.164195768156, + -0.157278023881, + -0.108615618347, + -0.0267689155057, + 0.0752304637116, + 0.183317270318, + 0.284730051657, + 0.369218845667, + 0.429395986957, + 0.460598777927, + 0.460598777927, + 0.429395986957, + 0.369218845667, + 0.284730051657, + 0.183317270318, + 0.0752304637116, + -0.0267689155057, + -0.108615618347, + -0.157278023881, + -0.164195768156, + -0.12923843175, + -0.0638786995872, + 0.00836992027957, + 0.0562752525194, + 0.0509081867133, + -0.0202866652535, + -0.140666031186, + -0.261067486648, + -0.313675703043, + -0.244063489206, + -0.0499745209773, + 0.196819887631, + 0.370416148074, + 0.357927951103, + 0.142865224723, + -0.156549244259, + -0.344960399296, + -0.288161422341, + -0.0326780752372, + 0.212362347668, + 0.248816788564, + 0.0745290900127, + -0.116120983052, + -0.142199307728, + -0.030588318591, + 0.0477255803509, + 0.0224749586686, + 0.000615530500891, + 0.0500413998718, + 0.0512725401009, + -0.0759601076083, + -0.139743550465, + 0.0366272645136, + 0.205164413647, + 0.0302076227294, + -0.234372147983, + -0.0857102138956, + 0.241894582095, + 0.109524199527, + -0.243217233492 + ], + [ + -0.262494876938, + 0.00127571896011, + 0.259171784305, + 0.0189399347105, + -0.235812598735, + -0.0625437779924, + 0.183358202462, + 0.104084248517, + -0.100773140378, + -0.106797279417, + 0.0172565897391, + 0.0513419269584, + 0.00638830596521, + 0.0161916965631, + 0.0603519016602, + 0.0126033787181, + -0.117512236935, + -0.161028576665, + -0.0160138110337, + 0.200345386248, + 0.267891277003, + 0.0962825471681, + -0.185262537281, + -0.352062223773, + -0.276680571739, + -0.0156337238486, + 0.255993477184, + 0.379202172012, + 0.30528395026, + 0.0999170390012, + -0.119272328981, + -0.255700200131, + -0.274589511519, + -0.201387402196, + -0.0931277268153, + -0.00539957819573, + 0.0291545027034, + 0.00621076726611, + -0.0570611282541, + -0.133906558058, + -0.19892210552, + -0.234849946935, + -0.234786802402, + -0.200995832145, + -0.141999615239, + -0.0693713652794, + 0.00491796515035, + 0.0702785432405, + 0.118460294673, + 0.143928329839, + 0.143928329839, + 0.118460294673, + 0.0702785432405, + 0.00491796515035, + -0.0693713652794, + -0.141999615239, + -0.200995832145, + -0.234786802402, + -0.234849946935, + -0.19892210552, + -0.133906558058, + -0.0570611282541, + 0.00621076726611, + 0.0291545027034, + -0.00539957819573, + -0.0931277268153, + -0.201387402196, + -0.274589511519, + -0.255700200131, + -0.119272328981, + 0.0999170390012, + 0.30528395026, + 0.379202172012, + 0.255993477184, + -0.0156337238486, + -0.276680571739, + -0.352062223773, + -0.185262537281, + 0.0962825471681, + 0.267891277003, + 0.200345386248, + -0.0160138110337, + -0.161028576665, + -0.117512236935, + 0.0126033787181, + 0.0603519016602, + 0.0161916965631, + 0.00638830596521, + 0.0513419269584, + 0.0172565897391, + -0.106797279417, + -0.100773140378, + 0.104084248517, + 0.183358202462, + -0.0625437779924, + -0.235812598735, + 0.0189399347105, + 0.259171784305, + 0.00127571896011, + -0.262494876938 + ], + [ + -0.229033862025, + -0.110205925088, + 0.22433253492, + 0.122562428329, + -0.189457861653, + -0.145043540263, + 0.123806589698, + 0.152156737942, + -0.0403997380552, + -0.116748724434, + -0.0210750599259, + 0.0422729913837, + 0.010999967099, + 0.00649005824689, + 0.0610372839039, + 0.0541484318003, + -0.0685637118094, + -0.174247348196, + -0.104973813136, + 0.110580565736, + 0.270241149271, + 0.207726796025, + -0.0436459805462, + -0.288341148409, + -0.34235242455, + -0.172296088669, + 0.102026349631, + 0.311970988758, + 0.352747305222, + 0.229596062675, + 0.0287363001793, + -0.147268671808, + -0.233377464406, + -0.221190974095, + -0.146014957558, + -0.059147592609, + -0.00280804809623, + 0.00292186494756, + -0.0394590052627, + -0.112422343512, + -0.193263090328, + -0.262136374954, + -0.306517101045, + -0.322206608132, + -0.31198444027, + -0.283179348886, + -0.245147024683, + -0.207210197019, + -0.177240193199, + -0.160818987304, + -0.160818987304, + -0.177240193199, + -0.207210197019, + -0.245147024683, + -0.283179348886, + -0.31198444027, + -0.322206608132, + -0.306517101045, + -0.262136374954, + -0.193263090328, + -0.112422343512, + -0.0394590052627, + 0.00292186494756, + -0.00280804809623, + -0.059147592609, + -0.146014957558, + -0.221190974095, + -0.233377464406, + -0.147268671808, + 0.0287363001793, + 0.229596062675, + 0.352747305222, + 0.311970988758, + 0.102026349631, + -0.172296088669, + -0.34235242455, + -0.288341148409, + -0.0436459805462, + 0.207726796025, + 0.270241149271, + 0.110580565736, + -0.104973813136, + -0.174247348196, + -0.0685637118094, + 0.0541484318003, + 0.0610372839039, + 0.00649005824689, + 0.010999967099, + 0.0422729913837, + -0.0210750599259, + -0.116748724434, + -0.0403997380552, + 0.152156737942, + 0.123806589698, + -0.145043540263, + -0.189457861653, + 0.122562428329, + 0.22433253492, + -0.110205925088, + -0.229033862025 + ], + [ + -0.143881641325, + -0.195224950076, + 0.138918419389, + 0.196956093786, + -0.100646831899, + -0.193432562316, + 0.0369539961076, + 0.164949059367, + 0.028250877477, + -0.10002209508, + -0.0540096235756, + 0.0237530612829, + 0.0130356511441, + -0.00451354278069, + 0.0478594706356, + 0.0826182912286, + -0.00503838810459, + -0.14769226831, + -0.168220066671, + -0.00219306058448, + 0.211357433212, + 0.26937924881, + 0.104100114203, + -0.161242101073, + -0.328783796199, + -0.285181036595, + -0.0698104438042, + 0.17688227469, + 0.319082406512, + 0.302452239155, + 0.163867498686, + -0.0109282538512, + -0.142083367832, + -0.190595804899, + -0.163324955413, + -0.0963758679285, + -0.0319664688599, + -0.000768518150296, + -0.0145910777212, + -0.068182354179, + -0.146007169128, + -0.229825731839, + -0.304400648646, + -0.360399080155, + -0.394800271324, + -0.409684782753, + -0.410320145711, + -0.403218766972, + -0.394538870402, + -0.38895160426, + -0.38895160426, + -0.394538870402, + -0.403218766972, + -0.410320145711, + -0.409684782753, + -0.394800271324, + -0.360399080155, + -0.304400648646, + -0.229825731839, + -0.146007169128, + -0.068182354179, + -0.0145910777212, + -0.000768518150297, + -0.0319664688599, + -0.0963758679285, + -0.163324955413, + -0.190595804899, + -0.142083367832, + -0.0109282538512, + 0.163867498686, + 0.302452239155, + 0.319082406512, + 0.17688227469, + -0.0698104438042, + -0.285181036595, + -0.328783796199, + -0.161242101073, + 0.104100114203, + 0.26937924881, + 0.211357433212, + -0.00219306058448, + -0.168220066671, + -0.14769226831, + -0.00503838810459, + 0.0826182912286, + 0.0478594706356, + -0.00451354278069, + 0.0130356511441, + 0.0237530612829, + -0.0540096235756, + -0.10002209508, + 0.028250877477, + 0.164949059367, + 0.0369539961076, + -0.193432562316, + -0.100646831899, + 0.196956093786, + 0.138918419389, + -0.195224950076, + -0.143881641325 + ], + [ + -0.0266659958095, + -0.226203135986, + 0.0227680365434, + 0.217396511203, + 0.00894504710549, + -0.190127902249, + -0.0545565072846, + 0.135197577264, + 0.0859508553404, + -0.0588600153853, + -0.0714030641835, + 0.000259982483291, + 0.0116510831094, + -0.0137376253464, + 0.0233277243714, + 0.0884799987867, + 0.0559548705783, + -0.0853702286556, + -0.185002520203, + -0.107341371748, + 0.102797876785, + 0.258958647147, + 0.215765209757, + -0.00204725661233, + -0.233221700187, + -0.318176134235, + -0.21155695157, + 0.00739141942633, + 0.207797031467, + 0.293564086237, + 0.246790209599, + 0.116539669063, + -0.0233235544748, + -0.115226218745, + -0.138277534713, + -0.105919676957, + -0.0501517686317, + -0.00386608137242, + 0.0110389522628, + -0.0124497292586, + -0.0688391615984, + -0.145535155459, + -0.228379010597, + -0.305619134216, + -0.369825784364, + -0.418055903323, + -0.450907783612, + -0.471101116299, + -0.482048963215, + -0.486689283655, + -0.486689283655, + -0.482048963215, + -0.471101116299, + -0.450907783612, + -0.418055903323, + -0.369825784364, + -0.305619134216, + -0.228379010597, + -0.145535155459, + -0.0688391615984, + -0.0124497292586, + 0.0110389522628, + -0.00386608137242, + -0.0501517686317, + -0.105919676957, + -0.138277534713, + -0.115226218745, + -0.0233235544748, + 0.116539669063, + 0.246790209599, + 0.293564086237, + 0.207797031467, + 0.00739141942633, + -0.21155695157, + -0.318176134235, + -0.233221700187, + -0.00204725661233, + 0.215765209757, + 0.258958647147, + 0.102797876785, + -0.107341371748, + -0.185002520203, + -0.0853702286556, + 0.0559548705783, + 0.0884799987867, + 0.0233277243714, + -0.0137376253464, + 0.0116510831094, + 0.000259982483291, + -0.0714030641835, + -0.0588600153853, + 0.0859508553404, + 0.135197577264, + -0.0545565072846, + -0.190127902249, + 0.00894504710549, + 0.217396511203, + 0.0227680365434, + -0.226203135986, + -0.0266659958095 + ], + [ + 0.0870154916771, + -0.19046455264, + -0.0887856110574, + 0.174599523102, + 0.105553544533, + -0.133546519907, + -0.121890768494, + 0.0702181893304, + 0.113837450819, + -0.00512456000422, + -0.066980537979, + -0.020994666305, + 0.00712270378871, + -0.0181759045448, + -0.00531231189617, + 0.0688516881717, + 0.095007306964, + -0.00542220493457, + -0.148034476008, + -0.171354047655, + -0.0232110441639, + 0.176918005287, + 0.254835523631, + 0.14036781829, + -0.0828124135158, + -0.258299305183, + -0.277920916963, + -0.144561606423, + 0.051504181318, + 0.203721529497, + 0.250676947746, + 0.195569996256, + 0.08673246632, + -0.0176939341084, + -0.0782008011122, + -0.0847808628106, + -0.0518761296174, + -0.0054433243501, + 0.0297719675355, + 0.0380764557398, + 0.0149142969408, + -0.0352340865102, + -0.102808464591, + -0.177050122043, + -0.248735159283, + -0.311485410203, + -0.361891243328, + -0.398885965007, + -0.422806457271, + -0.434469417779, + -0.434469417779, + -0.422806457271, + -0.398885965007, + -0.361891243328, + -0.311485410203, + -0.248735159283, + -0.177050122043, + -0.102808464591, + -0.0352340865102, + 0.0149142969408, + 0.0380764557398, + 0.0297719675355, + -0.0054433243501, + -0.0518761296174, + -0.0847808628106, + -0.0782008011122, + -0.0176939341084, + 0.08673246632, + 0.195569996256, + 0.250676947746, + 0.203721529497, + 0.051504181318, + -0.144561606423, + -0.277920916963, + -0.258299305183, + -0.0828124135158, + 0.14036781829, + 0.254835523631, + 0.176918005287, + -0.0232110441639, + -0.171354047655, + -0.148034476008, + -0.00542220493457, + 0.095007306964, + 0.0688516881717, + -0.00531231189618, + -0.0181759045448, + 0.00712270378871, + -0.020994666305, + -0.066980537979, + -0.00512456000422, + 0.113837450819, + 0.0702181893304, + -0.121890768494, + -0.133546519907, + 0.105553544533, + 0.174599523102, + -0.0887856110574, + -0.19046455264, + 0.0870154916771 + ], + [ + 0.157687234506, + -0.100333451547, + -0.157019840282, + 0.083377259254, + 0.15565685694, + -0.0433190211637, + -0.141708961341, + -0.00742978262213, + 0.102284010072, + 0.0425421262761, + -0.0423239531237, + -0.032657262752, + 0.00102873853706, + -0.0163121116429, + -0.0281361638992, + 0.0306576502186, + 0.0987639784485, + 0.0644216031645, + -0.0705043017525, + -0.172530814005, + -0.123077368494, + 0.0523096222983, + 0.208789741556, + 0.217313473313, + 0.0699832288807, + -0.127664210589, + -0.247626064727, + -0.227437287742, + -0.0954666169622, + 0.0655508461144, + 0.176414421209, + 0.200886503671, + 0.151217833009, + 0.0683603428119, + -0.00465071275575, + -0.0413666229495, + -0.0373521386423, + -0.00505700156427, + 0.0358263618047, + 0.0671653589019, + 0.0775579546114, + 0.0635759967464, + 0.0282604836503, + -0.0215661085053, + -0.077921500412, + -0.133538122953, + -0.182819738724, + -0.222032509564, + -0.249017056348, + -0.262711268091, + -0.262711268091, + -0.249017056348, + -0.222032509564, + -0.182819738724, + -0.133538122953, + -0.077921500412, + -0.0215661085053, + 0.0282604836503, + 0.0635759967464, + 0.0775579546114, + 0.0671653589019, + 0.0358263618047, + -0.00505700156427, + -0.0373521386423, + -0.0413666229495, + -0.00465071275575, + 0.0683603428119, + 0.151217833009, + 0.200886503671, + 0.176414421209, + 0.0655508461143, + -0.0954666169622, + -0.227437287742, + -0.247626064727, + -0.127664210589, + 0.0699832288807, + 0.217313473313, + 0.208789741556, + 0.0523096222983, + -0.123077368494, + -0.172530814005, + -0.0705043017525, + 0.0644216031645, + 0.0987639784485, + 0.0306576502186, + -0.0281361638992, + -0.0163121116429, + 0.00102873853706, + -0.032657262752, + -0.0423239531237, + 0.0425421262761, + 0.102284010072, + -0.00742978262213, + -0.141708961341, + -0.0433190211637, + 0.15565685694, + 0.083377259254, + -0.157019840282, + -0.100333451547, + 0.157687234506 + ], + [ + 0.160690585954, + 0.00704101484583, + -0.158252233654, + -0.0190011954449, + 0.142675485897, + 0.0444372250204, + -0.109042254568, + -0.0675414659716, + 0.0578436129747, + 0.0663658633294, + -0.00792665157714, + -0.030839586414, + -0.00422877208871, + -0.0092155035644, + -0.0368255223507, + -0.0105312004693, + 0.0679035403898, + 0.0983206626998, + 0.0157594573802, + -0.114334503198, + -0.160706214701, + -0.0650651880833, + 0.100581304828, + 0.204155512171, + 0.167456903761, + 0.019650192887, + -0.138957244486, + -0.215200054294, + -0.178763230986, + -0.0655487116133, + 0.0579315208794, + 0.136549876118, + 0.150028030175, + 0.112050965899, + 0.053978249084, + 0.00624780945129, + -0.0134859433466, + -0.00304559569557, + 0.0283162155698, + 0.0665766541017, + 0.0988247338347, + 0.1166985621, + 0.117268916446, + 0.102141626806, + 0.0757640165538, + 0.0437170679547, + 0.0114261795641, + -0.0165896562596, + -0.0370118891711, + -0.0477288675591, + -0.0477288675591, + -0.0370118891711, + -0.0165896562596, + 0.0114261795641, + 0.0437170679547, + 0.0757640165538, + 0.102141626806, + 0.117268916446, + 0.1166985621, + 0.0988247338347, + 0.0665766541017, + 0.0283162155698, + -0.00304559569557, + -0.0134859433466, + 0.00624780945129, + 0.053978249084, + 0.112050965899, + 0.150028030175, + 0.136549876118, + 0.0579315208794, + -0.0655487116133, + -0.178763230986, + -0.215200054294, + -0.138957244486, + 0.019650192887, + 0.167456903761, + 0.204155512171, + 0.100581304828, + -0.0650651880833, + -0.160706214701, + -0.114334503198, + 0.0157594573802, + 0.0983206626998, + 0.0679035403898, + -0.0105312004693, + -0.0368255223507, + -0.0092155035644, + -0.00422877208871, + -0.030839586414, + -0.00792665157714, + 0.0663658633294, + 0.0578436129747, + -0.0675414659716, + -0.109042254568, + 0.0444372250204, + 0.142675485897, + -0.0190011954449, + -0.158252233654, + 0.00704101484583, + 0.160690585954 + ], + [ + 0.102212434455, + 0.0846904759707, + -0.0993756940723, + -0.088342841917, + 0.0790702066885, + 0.0931902063298, + -0.0434616345046, + -0.0868832197883, + 0.00284922179599, + 0.0590596709542, + 0.020694607837, + -0.0178403634787, + -0.00654437824962, + -0.000458925183237, + -0.029380924318, + -0.0371397998567, + 0.0193812692488, + 0.0863470996408, + 0.0736937368827, + -0.028154826072, + -0.127901556394, + -0.127157767582, + -0.0170935047943, + 0.117527208465, + 0.175998313706, + 0.120338742683, + -0.00703766189332, + -0.125248202757, + -0.172271760367, + -0.136336115796, + -0.0499030872819, + 0.038627694019, + 0.0928235538049, + 0.10147378416, + 0.0758483306809, + 0.0380035891753, + 0.00860091075113, + -0.000474767879069, + 0.0124014434943, + 0.0412786900345, + 0.0768875328961, + 0.110409495125, + 0.135754413522, + 0.150266085004, + 0.154298039815, + 0.15023502556, + 0.141428269728, + 0.131317522551, + 0.122833580595, + 0.118057018738, + 0.118057018738, + 0.122833580595, + 0.131317522551, + 0.141428269728, + 0.15023502556, + 0.154298039815, + 0.150266085004, + 0.135754413522, + 0.110409495125, + 0.0768875328961, + 0.0412786900345, + 0.0124014434943, + -0.000474767879069, + 0.00860091075113, + 0.0380035891753, + 0.0758483306809, + 0.10147378416, + 0.0928235538049, + 0.038627694019, + -0.0499030872819, + -0.136336115796, + -0.172271760367, + -0.125248202757, + -0.00703766189332, + 0.120338742683, + 0.175998313706, + 0.117527208465, + -0.0170935047943, + -0.127157767582, + -0.127901556394, + -0.028154826072, + 0.0736937368827, + 0.0863470996408, + 0.0193812692488, + -0.0371397998567, + -0.029380924318, + -0.000458925183237, + -0.00654437824962, + -0.0178403634787, + 0.020694607837, + 0.0590596709542, + 0.00284922179599, + -0.0868832197883, + -0.0434616345046, + 0.0931902063298, + 0.0790702066885, + -0.088342841917, + -0.0993756940723, + 0.0846904759707, + 0.102212434455 + ], + [ + 0.0203504803369, + 0.101483201247, + -0.0184573768653, + -0.0980088663542, + 0.00347883772183, + 0.0870082892189, + 0.0185722018222, + -0.0636172832306, + -0.0351324044207, + 0.0295603904192, + 0.0311990622582, + -0.00172338736465, + -0.00536316095547, + 0.00557353786975, + -0.012177687115, + -0.039391067328, + -0.0209846642678, + 0.0424209360806, + 0.0814882894295, + 0.0407599835598, + -0.0529012742273, + -0.115332513906, + -0.087793806734, + 0.0114064429388, + 0.10839524519, + 0.136565648687, + 0.0825984610988, + -0.0141449267657, + -0.0963979932641, + -0.125928715496, + -0.0994837464276, + -0.0411228016913, + 0.0171543565929, + 0.0525050350973, + 0.05849284747, + 0.0426809979244, + 0.0192096539008, + 0.00136682322613, + -0.0028861199625, + 0.00810409332249, + 0.031166729997, + 0.0607700053487, + 0.0912791554968, + 0.118408563578, + 0.139780865675, + 0.154805901713, + 0.164184285846, + 0.169298979685, + 0.171663953023, + 0.172507714404, + 0.172507714404, + 0.171663953023, + 0.169298979685, + 0.164184285846, + 0.154805901713, + 0.139780865675, + 0.118408563578, + 0.0912791554968, + 0.0607700053487, + 0.031166729997, + 0.00810409332249, + -0.0028861199625, + 0.00136682322613, + 0.0192096539008, + 0.0426809979244, + 0.05849284747, + 0.0525050350973, + 0.0171543565929, + -0.0411228016913, + -0.0994837464276, + -0.125928715496, + -0.0963979932641, + -0.0141449267657, + 0.0825984610988, + 0.136565648687, + 0.10839524519, + 0.0114064429388, + -0.087793806734, + -0.115332513906, + -0.0529012742273, + 0.0407599835598, + 0.0814882894295, + 0.0424209360806, + -0.0209846642678, + -0.039391067328, + -0.012177687115, + 0.00557353786975, + -0.00536316095547, + -0.00172338736465, + 0.0311990622582, + 0.0295603904192, + -0.0351324044207, + -0.0636172832306, + 0.0185722018222, + 0.0870082892189, + 0.00347883772183, + -0.0980088663542, + -0.0184573768653, + 0.101483201247, + 0.0203504803369 + ], + [ + -0.0354851734235, + 0.0635739947866, + 0.0359293351215, + -0.0576878996149, + -0.0408658914626, + 0.0428703457128, + 0.0449246649081, + -0.0207680159571, + -0.0401476638523, + -0.000880625425877, + 0.0225451626021, + 0.00815857017193, + -0.0021932417926, + 0.00636327472852, + 0.0031793297303, + -0.0222576875508, + -0.033836099168, + -0.00201904712574, + 0.04779899754, + 0.0602899544449, + 0.0137264733332, + -0.0548764647773, + -0.0862291713591, + -0.0530219893566, + 0.0201924404241, + 0.0818255838695, + 0.0937411375706, + 0.0539523692936, + -0.00949016361184, + -0.0614264166341, + -0.0803506342834, + -0.0657303321336, + -0.0323041194542, + 0.00125303285245, + 0.0217549062404, + 0.025325502213, + 0.0160088221691, + 0.00172586284143, + -0.00978691048861, + -0.0135148667348, + -0.00787371502209, + 0.0059169742011, + 0.0250517807079, + 0.0463352502054, + 0.0670187936574, + 0.0851973282812, + 0.0998438523649, + 0.110621288163, + 0.117605289493, + 0.121015824348, + 0.121015824348, + 0.117605289493, + 0.110621288163, + 0.0998438523649, + 0.0851973282812, + 0.0670187936574, + 0.0463352502054, + 0.0250517807079, + 0.0059169742011, + -0.00787371502209, + -0.0135148667348, + -0.00978691048861, + 0.00172586284143, + 0.0160088221691, + 0.025325502213, + 0.0217549062404, + 0.00125303285245, + -0.0323041194542, + -0.0657303321336, + -0.0803506342834, + -0.0614264166341, + -0.00949016361183, + 0.0539523692936, + 0.0937411375706, + 0.0818255838695, + 0.0201924404241, + -0.0530219893566, + -0.0862291713591, + -0.0548764647773, + 0.0137264733332, + 0.0602899544449, + 0.04779899754, + -0.00201904712574, + -0.033836099168, + -0.0222576875508, + 0.0031793297303, + 0.00636327472852, + -0.0021932417926, + 0.00815857017193, + 0.0225451626021, + -0.000880625425877, + -0.0401476638523, + -0.0207680159571, + 0.0449246649081, + 0.0428703457128, + -0.0408658914626, + -0.0576878996149, + 0.0359293351215, + 0.0635739947866, + -0.0354851734235 + ], + [ + -0.0384818765676, + 0.0130031151489, + 0.0380771693431, + -0.00940906530844, + -0.0361962129667, + 0.00126337139224, + 0.0307110896874, + 0.00806323264948, + -0.0199426217158, + -0.0126926991013, + 0.00656517149079, + 0.00762861177979, + 0.000299961185178, + 0.00315743933565, + 0.00760407394197, + -0.00303428972586, + -0.0202636179865, + -0.0187572679946, + 0.00779870867396, + 0.0347268544455, + 0.0328163288392, + -0.000283591725257, + -0.037835325192, + -0.0493689801693, + -0.0261586931421, + 0.0146994925343, + 0.0462331638801, + 0.0510840920005, + 0.030199545813, + -0.00188090792242, + -0.0282737611737, + -0.0389992247493, + -0.0338439959812, + -0.0195441762251, + -0.00467895382324, + 0.00451348147484, + 0.00588942536516, + 0.000908798162658, + -0.00703697183583, + -0.0143824167073, + -0.0185671678827, + -0.0184698434881, + -0.0142614616464, + -0.00696261820066, + 0.00204435241214, + 0.0113960661814, + 0.0199688749222, + 0.0269550849317, + 0.0318419786717, + 0.0343461443381, + 0.0343461443381, + 0.0318419786717, + 0.0269550849317, + 0.0199688749222, + 0.0113960661814, + 0.00204435241214, + -0.00696261820066, + -0.0142614616464, + -0.0184698434881, + -0.0185671678827, + -0.0143824167073, + -0.00703697183583, + 0.000908798162658, + 0.00588942536516, + 0.00451348147484, + -0.00467895382324, + -0.0195441762251, + -0.0338439959812, + -0.0389992247493, + -0.0282737611737, + -0.00188090792242, + 0.030199545813, + 0.0510840920005, + 0.0462331638801, + 0.0146994925342, + -0.0261586931421, + -0.0493689801693, + -0.037835325192, + -0.000283591725257, + 0.0328163288392, + 0.0347268544455, + 0.00779870867396, + -0.0187572679946, + -0.0202636179865, + -0.00303428972586, + 0.00760407394197, + 0.00315743933565, + 0.000299961185178, + 0.00762861177979, + 0.00656517149079, + -0.0126926991013, + -0.0199426217158, + 0.00806323264948, + 0.0307110896874, + 0.00126337139224, + -0.0361962129667, + -0.00940906530844, + 0.0380771693431, + 0.0130031151489, + -0.0384818765676 + ], + [ + -0.00727981704941, + -0.00350194953788, + 0.00710775369246, + 0.00388080409545, + -0.00598077198222, + -0.00457382176063, + 0.00389150535996, + 0.00477615506084, + -0.00126261788306, + -0.00364584125301, + -0.000657601135565, + 0.00131229444573, + 0.000340654597693, + 0.000199901968661, + 0.00187643215964, + 0.00165966902633, + -0.00208949575668, + -0.00529139615707, + -0.00317531767214, + 0.00332181523811, + 0.00808060157855, + 0.00617809142414, + -0.00128448700694, + -0.00845521072383, + -0.00996888458908, + -0.00498070187498, + 0.00291616528491, + 0.00884615134926, + 0.00990557569429, + 0.00638049540954, + 0.000793193238, + -0.00398876615188, + -0.00624012705461, + -0.00583132791724, + -0.00379191677733, + -0.00151211397801, + -0.0000713536597415, + 0.0000719628157926, + -0.000954552534933, + -0.00266860556326, + -0.00449969265699, + -0.00598610082394, + -0.00686755918391, + -0.00708847189174, + -0.00674800473627, + -0.00603270177095, + -0.00515584648348, + -0.00431454372118, + -0.00366543519178, + -0.0033144582937, + -0.0033144582937, + -0.00366543519178, + -0.00431454372118, + -0.00515584648348, + -0.00603270177095, + -0.00674800473627, + -0.00708847189174, + -0.00686755918391, + -0.00598610082394, + -0.00449969265699, + -0.00266860556326, + -0.000954552534933, + 0.0000719628157926, + -0.0000713536597415, + -0.00151211397801, + -0.00379191677733, + -0.00583132791724, + -0.00624012705461, + -0.00398876615188, + 0.000793193238, + 0.00638049540954, + 0.00990557569429, + 0.00884615134926, + 0.00291616528491, + -0.00498070187498, + -0.00996888458908, + -0.00845521072383, + -0.00128448700694, + 0.00617809142414, + 0.00808060157855, + 0.00332181523811, + -0.00317531767214, + -0.00529139615707, + -0.00208949575668, + 0.00165966902633, + 0.00187643215964, + 0.000199901968661, + 0.000340654597693, + 0.00131229444573, + -0.000657601135566, + -0.00364584125301, + -0.00126261788306, + 0.00477615506084, + 0.00389150535996, + -0.00457382176063, + -0.00598077198222, + 0.00388080409545, + 0.00710775369246, + -0.00350194953788, + -0.00727981704941 + ], + [ + 0.00738228018851, + 0.0229650259225, + -0.00690231463702, + -0.0223590149625, + 0.00325569832647, + 0.0202951356434, + 0.00227781966773, + -0.0154175929631, + -0.00686447647751, + 0.0077515344475, + 0.00683089024959, + -0.000913765168067, + -0.00126724875729, + 0.00108246176466, + -0.00333392736168, + -0.00891804794063, + -0.00349480821802, + 0.0110458424477, + 0.0182531660336, + 0.00705403270563, + -0.014329759807, + -0.0263923200741, + -0.0175402621805, + 0.00588254902884, + 0.0263797968257, + 0.0299872607025, + 0.015610473062, + -0.00656665636217, + -0.0236504118695, + -0.0280703394715, + -0.0203331876898, + -0.00657739032156, + 0.00601805099806, + 0.0128575744392, + 0.0131503946566, + 0.00903800848203, + 0.00379859251638, + 0.000237204444528, + -0.000166492041906, + 0.00267184189962, + 0.00786640336794, + 0.0141367661921, + 0.0202869469395, + 0.0254817358533, + 0.0293246153683, + 0.0317982038186, + 0.033138659159, + 0.0336996870923, + 0.0338380321547, + 0.0338319787266, + 0.0338319787266, + 0.0338380321547, + 0.0336996870923, + 0.033138659159, + 0.0317982038186, + 0.0293246153683, + 0.0254817358533, + 0.0202869469395, + 0.0141367661921, + 0.00786640336794, + 0.00267184189962, + -0.000166492041906, + 0.000237204444528, + 0.00379859251638, + 0.00903800848203, + 0.0131503946566, + 0.0128575744392, + 0.00601805099806, + -0.00657739032156, + -0.0203331876898, + -0.0280703394715, + -0.0236504118695, + -0.00656665636217, + 0.015610473062, + 0.0299872607025, + 0.0263797968257, + 0.00588254902884, + -0.0175402621805, + -0.0263923200741, + -0.014329759807, + 0.00705403270563, + 0.0182531660336, + 0.0110458424477, + -0.00349480821802, + -0.00891804794063, + -0.00333392736168, + 0.00108246176466, + -0.00126724875729, + -0.000913765168067, + 0.00683089024959, + 0.0077515344475, + -0.00686447647751, + -0.0154175929631, + 0.00227781966773, + 0.0202951356434, + 0.00325569832647, + -0.0223590149625, + -0.00690231463702, + 0.0229650259225, + 0.00738228018851 + ], + [ + -0.028099209249, + 0.0484427504201, + 0.0283833235493, + -0.0438153467588, + -0.0319980914226, + 0.0323186195273, + 0.034815446981, + -0.0153401460941, + -0.0308060186595, + -0.0010817648552, + 0.0171093146003, + 0.00635840006029, + -0.00162942652182, + 0.00485454638778, + 0.00262130248931, + -0.0166683473112, + -0.0258160459813, + -0.00211572485626, + 0.0356623844379, + 0.0457163586652, + 0.0112050225241, + -0.0404197005925, + -0.0645956633798, + -0.0404797150217, + 0.0139140668318, + 0.0601593579178, + 0.069685545855, + 0.040784958751, + -0.00588663675799, + -0.0443369800473, + -0.0586343415328, + -0.0483097535012, + -0.0241277320369, + 0.000266962894413, + 0.0152544080395, + 0.0180050565605, + 0.0114327840722, + 0.00123631636542, + -0.00704258055584, + -0.00983402889781, + -0.00602667039153, + 0.00350077037496, + 0.0167595211578, + 0.0315021470485, + 0.0458097384456, + 0.0583634770012, + 0.0684612649993, + 0.0758807181933, + 0.0806832269126, + 0.0830267802332, + 0.0830267802332, + 0.0806832269126, + 0.0758807181933, + 0.0684612649993, + 0.0583634770012, + 0.0458097384456, + 0.0315021470485, + 0.0167595211578, + 0.00350077037496, + -0.00602667039153, + -0.00983402889781, + -0.00704258055584, + 0.00123631636542, + 0.0114327840722, + 0.0180050565605, + 0.0152544080395, + 0.000266962894413, + -0.0241277320369, + -0.0483097535012, + -0.0586343415328, + -0.0443369800473, + -0.00588663675799, + 0.040784958751, + 0.069685545855, + 0.0601593579178, + 0.0139140668318, + -0.0404797150217, + -0.0645956633798, + -0.0404197005925, + 0.0112050225241, + 0.0457163586652, + 0.0356623844379, + -0.00211572485626, + -0.0258160459813, + -0.0166683473112, + 0.00262130248931, + 0.00485454638778, + -0.00162942652182, + 0.00635840006029, + 0.0171093146003, + -0.0010817648552, + -0.0308060186595, + -0.0153401460941, + 0.034815446981, + 0.0323186195273, + -0.0319980914226, + -0.0438153467588, + 0.0283833235493, + 0.0484427504201, + -0.028099209249 + ], + [ + -0.0849929999554, + 0.0155555968308, + 0.0837800490824, + -0.0082715094177, + -0.0778191089142, + -0.00780757920172, + 0.0633196453548, + 0.0248588016288, + -0.0382671264732, + -0.0305665999204, + 0.0102191449887, + 0.0164082730997, + 0.00127696561832, + 0.00602484262594, + 0.0175371768017, + -0.00173412730568, + -0.0402614922924, + -0.0445184562369, + 0.00679454708867, + 0.0680970521411, + 0.0749462699787, + 0.012879693517, + -0.0687152359627, + -0.104095027371, + -0.0668576690547, + 0.0147277055674, + 0.0860622393734, + 0.10688698893, + 0.0730142296029, + 0.0103916719149, + -0.0465516231511, + -0.0747969598394, + -0.0705887578923, + -0.0453405371243, + -0.0158706508544, + 0.00439196369975, + 0.00969497742286, + 0.00166426636616, + -0.0136714797669, + -0.0293433387999, + -0.0399509525206, + -0.0427513817833, + -0.0375621416864, + -0.0260024084574, + -0.0105705677284, + 0.00612004483282, + 0.0218180829565, + 0.0348340525854, + 0.044044063307, + 0.0487951131757, + 0.0487951131757, + 0.044044063307, + 0.0348340525854, + 0.0218180829565, + 0.00612004483282, + -0.0105705677284, + -0.0260024084574, + -0.0375621416864, + -0.0427513817833, + -0.0399509525206, + -0.0293433387999, + -0.0136714797669, + 0.00166426636616, + 0.00969497742286, + 0.00439196369975, + -0.0158706508544, + -0.0453405371243, + -0.0705887578923, + -0.0747969598394, + -0.0465516231511, + 0.0103916719149, + 0.0730142296029, + 0.10688698893, + 0.0860622393734, + 0.0147277055674, + -0.0668576690547, + -0.104095027371, + -0.0687152359627, + 0.012879693517, + 0.0749462699787, + 0.0680970521411, + 0.00679454708867, + -0.0445184562369, + -0.0402614922924, + -0.00173412730568, + 0.0175371768017, + 0.00602484262594, + 0.00127696561832, + 0.0164082730997, + 0.0102191449887, + -0.0305665999204, + -0.0382671264732, + 0.0248588016288, + 0.0633196453548, + -0.00780757920172, + -0.0778191089142, + -0.0082715094177, + 0.0837800490824, + 0.0155555968308, + -0.0849929999554 + ], + [ + -0.0858426587933, + -0.0759390239869, + 0.0831592355773, + 0.0785373188554, + -0.0653221347183, + -0.0816422961608, + 0.0346054055993, + 0.0748434579469, + -0.000313893893263, + -0.0498912639514, + -0.0186359497443, + 0.0145929263826, + 0.00560951989149, + 0.0000543471813803, + 0.0243769436597, + 0.0320821705187, + -0.014348703982, + -0.0713570834532, + -0.0632291055696, + 0.0200515866466, + 0.103988477955, + 0.106440244909, + 0.0182430948369, + -0.092259840675, + -0.142490433289, + -0.100335055567, + 0.000913695977848, + 0.0963495616261, + 0.135858987078, + 0.109493966938, + 0.042653948446, + -0.0265429604944, + -0.0694129646065, + -0.0770776820129, + -0.0581702132807, + -0.0296073813042, + -0.00713673798446, + 0.000267323077825, + -0.00858216220128, + -0.0292252136149, + -0.0548117711459, + -0.0789111052155, + -0.0971525216704, + -0.107683183292, + -0.110806517225, + -0.108243023579, + -0.102357361266, + -0.0955416211674, + -0.0898108284151, + -0.0865830784284, + -0.0865830784284, + -0.0898108284151, + -0.0955416211674, + -0.102357361266, + -0.108243023579, + -0.110806517225, + -0.107683183292, + -0.0971525216704, + -0.0789111052155, + -0.0548117711459, + -0.0292252136149, + -0.00858216220128, + 0.000267323077825, + -0.00713673798446, + -0.0296073813042, + -0.0581702132807, + -0.0770776820129, + -0.0694129646065, + -0.0265429604944, + 0.042653948446, + 0.109493966938, + 0.135858987078, + 0.0963495616261, + 0.000913695977848, + -0.100335055567, + -0.142490433289, + -0.092259840675, + 0.0182430948369, + 0.106440244909, + 0.103988477955, + 0.0200515866466, + -0.0632291055696, + -0.0713570834532, + -0.014348703982, + 0.0320821705187, + 0.0243769436597, + 0.0000543471813802, + 0.00560951989149, + 0.0145929263826, + -0.0186359497443, + -0.0498912639514, + -0.000313893893263, + 0.0748434579469, + 0.0346054055993, + -0.0816422961608, + -0.0653221347183, + 0.0785373188554, + 0.0831592355773, + -0.0759390239869, + -0.0858426587933 + ], + [ + 0.0131437939141, + -0.141222768974, + -0.0151127668695, + 0.132838900449, + 0.0320293112605, + -0.11044166897, + -0.0540714119327, + 0.0714640554742, + 0.0637926946562, + -0.0241361710235, + -0.045319547885, + -0.00545826297832, + 0.00633588483763, + -0.0100089228578, + 0.00745655710323, + 0.051331658873, + 0.0456472396521, + -0.0332823791706, + -0.106688101733, + -0.0833436833448, + 0.0317983036987, + 0.138866841361, + 0.141760862173, + 0.0341543227121, + -0.103314287292, + -0.175248937815, + -0.141192454783, + -0.0321836964658, + 0.0832177716596, + 0.147074188445, + 0.140687838588, + 0.0833987063615, + 0.0121612039743, + -0.0408597502972, + -0.0609491116916, + -0.0514366041922, + -0.026516981738, + -0.00231990840217, + 0.00950557331881, + 0.00425189377418, + -0.0166346307614, + -0.0479959859386, + -0.0835870053365, + -0.118002029617, + -0.147636101719, + -0.170820278949, + -0.187438186835, + -0.19832641362, + -0.204674875608, + -0.207544375917, + -0.207544375917, + -0.204674875608, + -0.19832641362, + -0.187438186835, + -0.170820278949, + -0.147636101719, + -0.118002029617, + -0.0835870053365, + -0.0479959859386, + -0.0166346307614, + 0.00425189377418, + 0.00950557331881, + -0.00231990840217, + -0.026516981738, + -0.0514366041922, + -0.0609491116916, + -0.0408597502972, + 0.0121612039743, + 0.0833987063615, + 0.140687838588, + 0.147074188445, + 0.0832177716596, + -0.0321836964658, + -0.141192454783, + -0.175248937815, + -0.103314287292, + 0.0341543227121, + 0.141760862173, + 0.138866841361, + 0.0317983036987, + -0.0833436833448, + -0.106688101733, + -0.0332823791706, + 0.0456472396521, + 0.051331658873, + 0.00745655710323, + -0.0100089228578, + 0.00633588483763, + -0.00545826297832, + -0.045319547885, + -0.0241361710235, + 0.0637926946562, + 0.0714640554742, + -0.0540714119327, + -0.11044166897, + 0.0320293112605, + 0.132838900449, + -0.0151127668695, + -0.141222768974, + 0.0131437939141 + ], + [ + 0.144805005289, + -0.0823503234318, + -0.14346592155, + 0.0669927404302, + 0.140350851031, + -0.0316282049982, + -0.125329990134, + -0.0119184511941, + 0.0881561088642, + 0.0402069639631, + -0.0348739582022, + -0.0289383722693, + 0.000463666917007, + -0.013820755539, + -0.0255193910483, + 0.0234042775087, + 0.0836259447466, + 0.0588137455554, + -0.0537452508075, + -0.143493686868, + -0.10830923649, + 0.0347980480283, + 0.167389202061, + 0.181091213649, + 0.0660924340626, + -0.093622444767, + -0.194168933456, + -0.183702350393, + -0.0833252746706, + 0.042073271654, + 0.130075049281, + 0.151928967958, + 0.116672651238, + 0.0554461644604, + 0.000821851378641, + -0.0273522099695, + -0.025771379538, + -0.00353236688504, + 0.0251858090386, + 0.0475694196173, + 0.0557749132736, + 0.047624090006, + 0.025370425009, + -0.00627709925829, + -0.0419840027274, + -0.0770316464593, + -0.10789777254, + -0.132318604112, + -0.149047992956, + -0.157513182846, + -0.157513182846, + -0.149047992956, + -0.132318604112, + -0.10789777254, + -0.0770316464593, + -0.0419840027274, + -0.00627709925829, + 0.025370425009, + 0.047624090006, + 0.0557749132736, + 0.0475694196173, + 0.0251858090386, + -0.00353236688504, + -0.025771379538, + -0.0273522099695, + 0.000821851378641, + 0.0554461644604, + 0.116672651238, + 0.151928967958, + 0.130075049281, + 0.042073271654, + -0.0833252746706, + -0.183702350393, + -0.194168933456, + -0.093622444767, + 0.0660924340626, + 0.181091213649, + 0.167389202061, + 0.0347980480283, + -0.10830923649, + -0.143493686868, + -0.0537452508075, + 0.0588137455554, + 0.0836259447466, + 0.0234042775087, + -0.0255193910483, + -0.013820755539, + 0.000463666917007, + -0.0289383722693, + -0.0348739582022, + 0.0402069639631, + 0.0881561088642, + -0.0119184511941, + -0.125329990134, + -0.0316282049982, + 0.140350851031, + 0.0669927404302, + -0.14346592155, + -0.0823503234318, + 0.144805005289 + ], + [ + 0.165520409298, + 0.0863476864373, + -0.161121673389, + -0.0943730852048, + 0.134330176572, + 0.108808844795, + -0.0856192000756, + -0.11126889029, + 0.0255587564676, + 0.0832576356039, + 0.0168757495146, + -0.0292072647216, + -0.00792298159024, + -0.00400905555143, + -0.0421983596714, + -0.0392900878282, + 0.0442917775343, + 0.118686879468, + 0.0750026276309, + -0.0693272637352, + -0.178843334165, + -0.141542591833, + 0.0215438643226, + 0.182221698722, + 0.220605556628, + 0.115439822599, + -0.0562472068828, + -0.187867869922, + -0.214882931758, + -0.142052205379, + -0.0231271392697, + 0.0800854274238, + 0.130017417488, + 0.123266759171, + 0.0813175761141, + 0.0334933473026, + 0.00265715559637, + -0.00136482166701, + 0.0189660668921, + 0.0537704762751, + 0.0913214087295, + 0.122128913441, + 0.140836368246, + 0.14626537939, + 0.140377374371, + 0.126892659046, + 0.110060716818, + 0.0937991722608, + 0.0812133098772, + 0.0743985392091, + 0.0743985392091, + 0.0812133098772, + 0.0937991722608, + 0.110060716818, + 0.126892659046, + 0.140377374371, + 0.14626537939, + 0.140836368246, + 0.122128913441, + 0.0913214087295, + 0.0537704762751, + 0.0189660668921, + -0.00136482166701, + 0.00265715559637, + 0.0334933473026, + 0.0813175761141, + 0.123266759171, + 0.130017417488, + 0.0800854274238, + -0.0231271392697, + -0.142052205379, + -0.214882931758, + -0.187867869922, + -0.0562472068828, + 0.115439822599, + 0.220605556628, + 0.182221698722, + 0.0215438643226, + -0.141542591833, + -0.178843334165, + -0.0693272637352, + 0.0750026276309, + 0.118686879468, + 0.0442917775343, + -0.0392900878282, + -0.0421983596714, + -0.00400905555143, + -0.00792298159024, + -0.0292072647216, + 0.0168757495146, + 0.0832576356039, + 0.0255587564676, + -0.11126889029, + -0.0856192000756, + 0.108808844795, + 0.134330176572, + -0.0943730852048, + -0.161121673389, + 0.0863476864373, + 0.165520409298 + ], + [ + 0.0106711046146, + 0.204871561077, + -0.00727693514148, + -0.194772078744, + -0.0200318009085, + 0.16695595189, + 0.0579140607036, + -0.114903248252, + -0.0811352373904, + 0.0465758218086, + 0.0635474922297, + 0.00230532189528, + -0.00982199695791, + 0.0126795773725, + -0.0171588291395, + -0.0751317714079, + -0.0532207550055, + 0.0645376174387, + 0.154577876358, + 0.0988069352954, + -0.0726634073298, + -0.20804238387, + -0.18384330275, + -0.0140797040749, + 0.173868822321, + 0.250543634309, + 0.176194550644, + 0.0103353408445, + -0.145690620174, + -0.216775292371, + -0.187918733935, + -0.0953046378149, + 0.00620239209805, + 0.0740831436717, + 0.0929841680615, + 0.0724083051687, + 0.0347992485685, + 0.00276952582211, + -0.0090675098136, + 0.00360861480581, + 0.0368563734037, + 0.0823621865657, + 0.131160592364, + 0.176115139625, + 0.212960272069, + 0.240222207069, + 0.258504749314, + 0.269567691626, + 0.275475887118, + 0.277950040409, + 0.277950040409, + 0.275475887118, + 0.269567691626, + 0.258504749314, + 0.240222207069, + 0.212960272069, + 0.176115139625, + 0.131160592364, + 0.0823621865657, + 0.0368563734037, + 0.00360861480581, + -0.0090675098136, + 0.00276952582212, + 0.0347992485685, + 0.0724083051687, + 0.0929841680615, + 0.0740831436717, + 0.00620239209805, + -0.0953046378149, + -0.187918733935, + -0.216775292371, + -0.145690620174, + 0.0103353408445, + 0.176194550644, + 0.250543634309, + 0.173868822321, + -0.0140797040749, + -0.18384330275, + -0.20804238387, + -0.0726634073298, + 0.0988069352954, + 0.154577876358, + 0.0645376174387, + -0.0532207550055, + -0.0751317714079, + -0.0171588291395, + 0.0126795773725, + -0.00982199695791, + 0.00230532189528, + 0.0635474922297, + 0.0465758218086, + -0.0811352373904, + -0.114903248252, + 0.0579140607036, + 0.16695595189, + -0.0200318009085, + -0.194772078744, + -0.00727693514148, + 0.204871561077, + 0.0106711046146 + ], + [ + -0.186592161012, + 0.118181254995, + 0.184874420413, + -0.0976637484, + -0.182225224618, + 0.0503662516383, + 0.164830469573, + 0.00875569925012, + -0.118111827693, + -0.0490396071216, + 0.0484641806866, + 0.0372960749453, + -0.00115794924253, + 0.0184474577687, + 0.0317100809421, + -0.0342593882476, + -0.109986394679, + -0.0714437621227, + 0.0774374457489, + 0.188596188844, + 0.133782466841, + -0.0561578782644, + -0.223193154365, + -0.230625512744, + -0.0738464293345, + 0.132812170209, + 0.255518978683, + 0.232510152755, + 0.0967468100314, + -0.065317194947, + -0.174221193093, + -0.196139185513, + -0.145889347608, + -0.0651829690563, + 0.00425820094111, + 0.0382472143771, + 0.0340904936372, + 0.00455276759569, + -0.0318120513076, + -0.0588307290326, + -0.0670429398572, + -0.0542928170038, + -0.0239444766516, + 0.0177315194522, + 0.0638879687555, + 0.108624724429, + 0.147653485078, + 0.17831051172, + 0.199202528876, + 0.209740206364, + 0.209740206364, + 0.199202528876, + 0.17831051172, + 0.147653485078, + 0.108624724429, + 0.0638879687555, + 0.0177315194522, + -0.0239444766516, + -0.0542928170038, + -0.0670429398572, + -0.0588307290326, + -0.0318120513076, + 0.00455276759569, + 0.0340904936372, + 0.0382472143771, + 0.00425820094111, + -0.0651829690563, + -0.145889347608, + -0.196139185513, + -0.174221193093, + -0.065317194947, + 0.0967468100314, + 0.232510152755, + 0.255518978683, + 0.132812170209, + -0.0738464293345, + -0.230625512744, + -0.223193154365, + -0.0561578782644, + 0.133782466841, + 0.188596188844, + 0.0774374457489, + -0.0714437621227, + -0.109986394679, + -0.0342593882476, + 0.0317100809421, + 0.0184474577687, + -0.00115794924253, + 0.0372960749453, + 0.0484641806866, + -0.0490396071216, + -0.118111827693, + 0.00875569925012, + 0.164830469573, + 0.0503662516383, + -0.182225224618, + -0.0976637484, + 0.184874420413, + 0.118181254995, + -0.186592161012 + ], + [ + -0.198686721862, + -0.116286870828, + 0.19302169541, + 0.125117720237, + -0.159096678741, + -0.14044094009, + 0.0984193975723, + 0.139902417079, + -0.0252891420517, + -0.102048028759, + -0.0241021101284, + 0.0345665350641, + 0.0100316744351, + 0.00395431083593, + 0.0511197674244, + 0.0512985460285, + -0.0490587989453, + -0.144425613444, + -0.0983667260784, + 0.0755830515628, + 0.215430548307, + 0.179803882712, + -0.0137660482277, + -0.213229590138, + -0.269844308947, + -0.151061981369, + 0.0547899025412, + 0.219017582945, + 0.260057680838, + 0.179234734835, + 0.0386922293189, + -0.0871850386311, + -0.151397420357, + -0.147597383551, + -0.099988038762, + -0.0432542395061, + -0.00523569682854, + 0.00140239680036, + -0.0212911520492, + -0.0621102167674, + -0.107273333444, + -0.145363339415, + -0.169712050583, + -0.178574374314, + -0.173977055665, + -0.160117693526, + -0.141909250596, + -0.123941427018, + -0.10988521774, + -0.102233732408, + -0.102233732408, + -0.10988521774, + -0.123941427018, + -0.141909250596, + -0.160117693526, + -0.173977055665, + -0.178574374314, + -0.169712050583, + -0.145363339415, + -0.107273333444, + -0.0621102167674, + -0.0212911520492, + 0.00140239680036, + -0.00523569682854, + -0.0432542395061, + -0.099988038762, + -0.147597383551, + -0.151397420357, + -0.0871850386311, + 0.0386922293189, + 0.179234734835, + 0.260057680838, + 0.219017582945, + 0.0547899025412, + -0.151061981369, + -0.269844308947, + -0.213229590138, + -0.0137660482277, + 0.179803882712, + 0.215430548307, + 0.0755830515628, + -0.0983667260784, + -0.144425613444, + -0.0490587989453, + 0.0512985460285, + 0.0511197674243, + 0.00395431083593, + 0.0100316744351, + 0.0345665350641, + -0.0241021101284, + -0.102048028759, + -0.0252891420517, + 0.139902417079, + 0.0984193975723, + -0.14044094009, + -0.159096678741, + 0.125117720237, + 0.19302169541, + -0.116286870828, + -0.198686721862 + ], + [ + 0.0222017499811, + -0.237052861202, + -0.0254582785081, + 0.222518133766, + 0.0537004598141, + -0.184569900955, + -0.0903509830606, + 0.119113914862, + 0.106274420731, + -0.0400922655326, + -0.0752674777609, + -0.00907286597133, + 0.0104873469527, + -0.0165515906935, + 0.0122798084027, + 0.084556236525, + 0.0751089056246, + -0.0545588261503, + -0.174750152153, + -0.136318960443, + 0.0517627225872, + 0.225980701332, + 0.230273926299, + 0.0554662553399, + -0.166861586892, + -0.28250317356, + -0.227115402555, + -0.0517477280447, + 0.13298220317, + 0.234533480601, + 0.223795610731, + 0.132350248236, + 0.019321650548, + -0.0643669160569, + -0.0958068381898, + -0.0806482174189, + -0.0414701149404, + -0.00361928931881, + 0.0147992249304, + 0.00663230534082, + -0.025690752158, + -0.0740502746743, + -0.128741249087, + -0.18144188859, + -0.226661454811, + -0.261909805006, + -0.28707840388, + -0.303503933815, + -0.31304470207, + -0.31734452268, + -0.31734452268, + -0.31304470207, + -0.303503933815, + -0.28707840388, + -0.261909805006, + -0.226661454811, + -0.18144188859, + -0.128741249087, + -0.0740502746743, + -0.025690752158, + 0.00663230534082, + 0.0147992249304, + -0.00361928931881, + -0.0414701149404, + -0.0806482174189, + -0.0958068381898, + -0.0643669160569, + 0.019321650548, + 0.132350248236, + 0.223795610731, + 0.234533480601, + 0.13298220317, + -0.0517477280447, + -0.227115402555, + -0.28250317356, + -0.166861586892, + 0.0554662553399, + 0.230273926299, + 0.225980701332, + 0.0517627225872, + -0.136318960443, + -0.174750152153, + -0.0545588261503, + 0.0751089056246, + 0.084556236525, + 0.0122798084027, + -0.0165515906935, + 0.0104873469527, + -0.00907286597133, + -0.0752674777609, + -0.0400922655326, + 0.106274420731, + 0.119113914862, + -0.0903509830606, + -0.184569900955, + 0.0537004598141, + 0.222518133766, + -0.0254582785082, + -0.237052861202, + 0.0222017499811 + ], + [ + 0.229520162352, + -0.0771429282543, + -0.226131401144, + 0.0555141755942, + 0.213918729608, + -0.00724851485503, + -0.180515076154, + -0.0474183278032, + 0.116501071014, + 0.0740386874673, + -0.0380683770796, + -0.0441707994327, + -0.00174248153028, + -0.0181359036904, + -0.0435633875443, + 0.0172150974749, + 0.115003885597, + 0.106111890448, + -0.0436964316364, + -0.194312012371, + -0.182872335161, + 0.00132602291532, + 0.208215328523, + 0.270359894098, + 0.142591850999, + -0.0792117193511, + -0.248208801621, + -0.2725952572, + -0.160192276919, + 0.00964191258737, + 0.147402084704, + 0.201953770457, + 0.173995732479, + 0.0997663078581, + 0.0237808890111, + -0.0225699227679, + -0.0292832005663, + -0.0044859341099, + 0.0344801070165, + 0.0699664864563, + 0.0897085893952, + 0.0886807613687, + 0.0681164678748, + 0.0331904138912, + -0.00939358961031, + -0.0532045291403, + -0.0930713191475, + -0.125370923929, + -0.147868376591, + -0.159366457086, + -0.159366457086, + -0.147868376591, + -0.125370923929, + -0.0930713191475, + -0.0532045291403, + -0.00939358961031, + 0.0331904138912, + 0.0681164678748, + 0.0886807613687, + 0.0897085893952, + 0.0699664864563, + 0.0344801070165, + -0.0044859341099, + -0.0292832005663, + -0.0225699227679, + 0.0237808890111, + 0.0997663078581, + 0.173995732479, + 0.201953770457, + 0.147402084704, + 0.00964191258737, + -0.160192276919, + -0.2725952572, + -0.248208801621, + -0.0792117193511, + 0.142591850999, + 0.270359894098, + 0.208215328523, + 0.00132602291532, + -0.182872335161, + -0.194312012371, + -0.0436964316364, + 0.106111890448, + 0.115003885597, + 0.0172150974749, + -0.0435633875443, + -0.0181359036904, + -0.00174248153028, + -0.0441707994327, + -0.0380683770796, + 0.0740386874673, + 0.116501071014, + -0.0474183278032, + -0.180515076154, + -0.00724851485503, + 0.213918729608, + 0.0555141755942, + -0.226131401144, + -0.0771429282543, + 0.229520162352 + ], + [ + 0.154484272701, + 0.183300900387, + -0.148493098025, + -0.184977836459, + 0.110122273275, + 0.183250166383, + -0.0468486811057, + -0.158355129973, + -0.0187713626929, + 0.0980410051566, + 0.0475143525222, + -0.0247805455767, + -0.0120421086119, + 0.00290804560144, + -0.0460660071506, + -0.0728861716626, + 0.012047544557, + 0.137180410463, + 0.144120438414, + -0.0108794515654, + -0.193197264301, + -0.22841926283, + -0.0736510977993, + 0.151447260648, + 0.278597390871, + 0.225278451803, + 0.0393532181058, + -0.15680400948, + -0.257255387121, + -0.229468312324, + -0.112883862925, + 0.021255915686, + 0.113794291509, + 0.141211986115, + 0.114624190436, + 0.0638419132449, + 0.0192816823084, + 0.000205039056934, + 0.0115030050754, + 0.046818910492, + 0.0943042078555, + 0.141956807477, + 0.18099012794, + 0.207030387537, + 0.219714790521, + 0.221476937102, + 0.216168468776, + 0.20790029514, + 0.200241218752, + 0.195750593505, + 0.195750593505, + 0.200241218752, + 0.20790029514, + 0.216168468776, + 0.221476937102, + 0.219714790521, + 0.207030387537, + 0.18099012794, + 0.141956807477, + 0.0943042078555, + 0.046818910492, + 0.0115030050754, + 0.000205039056934, + 0.0192816823084, + 0.0638419132449, + 0.114624190436, + 0.141211986115, + 0.113794291509, + 0.021255915686, + -0.112883862925, + -0.229468312324, + -0.257255387121, + -0.15680400948, + 0.0393532181058, + 0.225278451803, + 0.278597390871, + 0.151447260648, + -0.0736510977993, + -0.22841926283, + -0.193197264301, + -0.0108794515654, + 0.144120438414, + 0.137180410463, + 0.012047544557, + -0.0728861716626, + -0.0460660071506, + 0.00290804560144, + -0.0120421086119, + -0.0247805455767, + 0.0475143525222, + 0.0980410051566, + -0.0187713626929, + -0.158355129973, + -0.0468486811057, + 0.183250166383, + 0.110122273275, + -0.184977836459, + -0.148493098025, + 0.183300900387, + 0.154484272701 + ], + [ + -0.119255112047, + 0.204743768666, + 0.119988551508, + -0.184418494003, + -0.134641229637, + 0.135380868315, + 0.145747092763, + -0.063876038415, + -0.128252305155, + -0.00459293730167, + 0.0708005740898, + 0.0262781867055, + -0.00669462421658, + 0.0199151521615, + 0.0107665055955, + -0.0678489137351, + -0.104830459044, + -0.0086983968601, + 0.143530155429, + 0.183438433477, + 0.0449638503964, + -0.160533163938, + -0.255669096429, + -0.159657686299, + 0.0542706608997, + 0.234450967434, + 0.270380923032, + 0.157579618335, + -0.0223327339412, + -0.168994810244, + -0.222403423937, + -0.182292974159, + -0.090614961268, + 0.000851264826913, + 0.0564258982702, + 0.0662815764288, + 0.0418645781765, + 0.00450330962945, + -0.0255239099888, + -0.0354826513788, + -0.0217021117295, + 0.0123463017782, + 0.0593521011287, + 0.111252647907, + 0.161295022931, + 0.204937988695, + 0.239848977345, + 0.265376285568, + 0.281836111503, + 0.289848007878, + 0.289848007878, + 0.281836111503, + 0.265376285568, + 0.239848977345, + 0.204937988695, + 0.161295022931, + 0.111252647907, + 0.0593521011287, + 0.0123463017782, + -0.0217021117295, + -0.0354826513788, + -0.0255239099888, + 0.00450330962945, + 0.0418645781765, + 0.0662815764288, + 0.0564258982702, + 0.000851264826912, + -0.090614961268, + -0.182292974159, + -0.222403423937, + -0.168994810244, + -0.0223327339412, + 0.157579618335, + 0.270380923032, + 0.234450967434, + 0.0542706608997, + -0.159657686299, + -0.255669096429, + -0.160533163938, + 0.0449638503964, + 0.183438433477, + 0.143530155429, + -0.0086983968601, + -0.104830459044, + -0.0678489137351, + 0.0107665055955, + 0.0199151521615, + -0.00669462421658, + 0.0262781867055, + 0.0708005740898, + -0.00459293730167, + -0.128252305155, + -0.063876038415, + 0.145747092763, + 0.135380868315, + -0.134641229637, + -0.184418494003, + 0.119988551508, + 0.204743768666, + -0.119255112047 + ], + [ + -0.223005029797, + -0.0466540142473, + 0.217622931618, + 0.0609766815485, + -0.190022877202, + -0.0900851806467, + 0.136424253695, + 0.111156077619, + -0.0626835109121, + -0.0964964987032, + -0.00086414680681, + 0.0401489749899, + 0.00727910256712, + 0.00973308273203, + 0.0506495184876, + 0.0268274750857, + -0.077247230302, + -0.135970202016, + -0.0470276223213, + 0.125358896183, + 0.211705572502, + 0.116254985745, + -0.0902958113399, + -0.243619628603, + -0.230062323653, + -0.0666225077293, + 0.131951487361, + 0.246931813455, + 0.229265238393, + 0.111164099244, + -0.032416071053, + -0.13397200525, + -0.163937099624, + -0.132579120594, + -0.0727558176332, + -0.0187385658434, + 0.00797934443791, + 0.00261652491448, + -0.0267322312434, + -0.0661149811609, + -0.102094986988, + -0.125567204377, + -0.13285351843, + -0.124891354226, + -0.105562983219, + -0.0799895299435, + -0.0532392691772, + -0.0295713663874, + -0.0121311280851, + -0.00292822159173, + -0.00292822159173, + -0.0121311280851, + -0.0295713663874, + -0.0532392691772, + -0.0799895299435, + -0.105562983219, + -0.124891354226, + -0.13285351843, + -0.125567204377, + -0.102094986988, + -0.0661149811609, + -0.0267322312434, + 0.00261652491448, + 0.00797934443791, + -0.0187385658434, + -0.0727558176332, + -0.132579120594, + -0.163937099624, + -0.13397200525, + -0.032416071053, + 0.111164099244, + 0.229265238393, + 0.246931813455, + 0.131951487361, + -0.0666225077293, + -0.230062323653, + -0.243619628603, + -0.0902958113399, + 0.116254985745, + 0.211705572502, + 0.125358896183, + -0.0470276223213, + -0.135970202016, + -0.077247230302, + 0.0268274750857, + 0.0506495184876, + 0.00973308273203, + 0.00727910256712, + 0.0401489749899, + -0.000864146806811, + -0.0964964987032, + -0.0626835109121, + 0.111156077619, + 0.136424253695, + -0.0900851806467, + -0.190022877202, + 0.0609766815485, + 0.217622931618, + -0.0466540142473, + -0.223005029797 + ], + [ + -0.0145592148561, + -0.215280011178, + 0.0108991355521, + 0.204400612524, + 0.0180299478421, + -0.175301909469, + -0.0581904268036, + 0.121034364561, + 0.083201992563, + -0.0496823811541, + -0.0657016359855, + -0.00177334333886, + 0.0102264619472, + -0.0128887082088, + 0.0183693244176, + 0.0773381860847, + 0.0532198507055, + -0.0678532229191, + -0.157971467522, + -0.0984056026773, + 0.0767679111476, + 0.211908897163, + 0.183892833406, + 0.0104876252541, + -0.177754458922, + -0.251490048263, + -0.173694804339, + -0.00656718911082, + 0.147901120524, + 0.216004601764, + 0.184790645813, + 0.0916878214027, + -0.00853984182372, + -0.0744120525238, + -0.0917396651213, + -0.0706780084067, + -0.0336230460718, + -0.00263930901053, + 0.00834738962765, + -0.00446330105363, + -0.0369231379545, + -0.0808121990523, + -0.127450437481, + -0.170047356526, + -0.204640928761, + -0.229964218051, + -0.24672249799, + -0.256693501802, + -0.261911882018, + -0.264055433043, + -0.264055433043, + -0.261911882018, + -0.256693501802, + -0.24672249799, + -0.229964218051, + -0.204640928761, + -0.170047356526, + -0.127450437481, + -0.0808121990523, + -0.0369231379545, + -0.00446330105363, + 0.00834738962765, + -0.00263930901053, + -0.0336230460718, + -0.0706780084067, + -0.0917396651213, + -0.0744120525238, + -0.00853984182372, + 0.0916878214027, + 0.184790645813, + 0.216004601764, + 0.147901120524, + -0.00656718911082, + -0.173694804339, + -0.251490048263, + -0.177754458922, + 0.0104876252541, + 0.183892833406, + 0.211908897163, + 0.0767679111476, + -0.0984056026773, + -0.157971467522, + -0.0678532229191, + 0.0532198507055, + 0.0773381860847, + 0.0183693244176, + -0.0128887082088, + 0.0102264619472, + -0.00177334333886, + -0.0657016359855, + -0.0496823811541, + 0.083201992563, + 0.121034364561, + -0.0581904268036, + -0.175301909469, + 0.0180299478421, + 0.204400612524, + 0.0108991355521, + -0.215280011178, + -0.0145592148561 + ], + [ + 0.1911989951, + -0.0641127489257, + -0.188099468007, + 0.0460440211374, + 0.177648497018, + -0.00593194815502, + -0.149636063692, + -0.0393365216261, + 0.0963767027713, + 0.061239610825, + -0.0314135223921, + -0.036447369173, + -0.0014411598273, + -0.0149272323704, + -0.0358393420063, + 0.0141065935314, + 0.0943449708575, + 0.0869997812013, + -0.0356938171195, + -0.158807003923, + -0.149341665925, + 0.000981310049461, + 0.169450251805, + 0.219825749208, + 0.115861444431, + -0.0641052621724, + -0.200869403331, + -0.220367363782, + -0.129380214552, + 0.00767002771803, + 0.118546665217, + 0.162255304027, + 0.139629473661, + 0.0799782340625, + 0.0190718068604, + -0.0180015293646, + -0.0233517995375, + -0.00357384026303, + 0.0274411267246, + 0.0556279421721, + 0.0712606389449, + 0.0703935310597, + 0.0540506035967, + 0.0263655499097, + -0.00733812298568, + -0.041972383534, + -0.0734591955502, + -0.0989507676246, + -0.116696819497, + -0.125763595254, + -0.125763595254, + -0.116696819497, + -0.0989507676246, + -0.0734591955502, + -0.041972383534, + -0.00733812298568, + 0.0263655499097, + 0.0540506035967, + 0.0703935310597, + 0.0712606389449, + 0.0556279421721, + 0.0274411267246, + -0.00357384026303, + -0.0233517995375, + -0.0180015293646, + 0.0190718068604, + 0.0799782340625, + 0.139629473661, + 0.162255304027, + 0.118546665217, + 0.00767002771803, + -0.129380214552, + -0.220367363782, + -0.200869403331, + -0.0641052621724, + 0.115861444431, + 0.219825749208, + 0.169450251805, + 0.000981310049461, + -0.149341665925, + -0.158807003923, + -0.0356938171195, + 0.0869997812013, + 0.0943449708575, + 0.0141065935314, + -0.0358393420063, + -0.0149272323704, + -0.0014411598273, + -0.036447369173, + -0.0314135223921, + 0.061239610825, + 0.0963767027713, + -0.0393365216261, + -0.149636063692, + -0.00593194815502, + 0.177648497018, + 0.0460440211374, + -0.188099468007, + -0.0641127489257, + 0.1911989951 + ], + [ + 0.0931677098643, + 0.156263045743, + -0.088713543881, + -0.154534856811, + 0.0596569863707, + 0.146613681345, + -0.0136699847255, + -0.119487731767, + -0.0300424976406, + 0.0680373626904, + 0.0425438332602, + -0.0138636970908, + -0.00928514232238, + 0.00464018922833, + -0.0306784816264, + -0.0596009738617, + -0.00534141450789, + 0.0940981395156, + 0.118677151129, + 0.0163974812743, + -0.127772615139, + -0.178697018243, + -0.0840691462324, + 0.0836012103319, + 0.198741322064, + 0.185199685103, + 0.0620270048189, + -0.0870606864801, + -0.178926717089, + -0.178626818793, + -0.105716918112, + -0.00900134370754, + 0.0657781487792, + 0.0960794698846, + 0.0850452031845, + 0.05178000933, + 0.0184204677309, + 0.000715398343769, + 0.00450336713872, + 0.02705196913, + 0.0607900791825, + 0.0971684090728, + 0.129345825231, + 0.153374085266, + 0.1681747049, + 0.174826233493, + 0.175632553326, + 0.173277077345, + 0.170196420382, + 0.168185474717, + 0.168185474717, + 0.170196420382, + 0.173277077345, + 0.175632553326, + 0.174826233493, + 0.1681747049, + 0.153374085266, + 0.129345825231, + 0.0971684090728, + 0.0607900791825, + 0.02705196913, + 0.00450336713872, + 0.00071539834377, + 0.0184204677309, + 0.05178000933, + 0.0850452031845, + 0.0960794698846, + 0.0657781487792, + -0.00900134370754, + -0.105716918112, + -0.178626818793, + -0.178926717089, + -0.0870606864801, + 0.0620270048189, + 0.185199685103, + 0.198741322064, + 0.0836012103319, + -0.0840691462324, + -0.178697018243, + -0.127772615139, + 0.0163974812743, + 0.118677151129, + 0.0940981395156, + -0.00534141450789, + -0.0596009738617, + -0.0306784816264, + 0.00464018922833, + -0.00928514232238, + -0.0138636970908, + 0.0425438332602, + 0.0680373626904, + -0.0300424976406, + -0.119487731767, + -0.0136699847255, + 0.146613681345, + 0.0596569863707, + -0.154534856811, + -0.088713543881, + 0.156263045743, + 0.0931677098643 + ], + [ + -0.121776367438, + 0.107389992978, + 0.120773294629, + -0.0921099056337, + -0.122550642145, + 0.0568192602361, + 0.116134638414, + -0.0105892580812, + -0.0885266153997, + -0.025338903802, + 0.0404475755559, + 0.0245040850856, + -0.00212790042206, + 0.0136836021822, + 0.0180260988626, + -0.0324792763436, + -0.077893361401, + -0.0367392470445, + 0.0707395064511, + 0.133570278182, + 0.0748885358023, + -0.0640036746269, + -0.165879388514, + -0.146978072714, + -0.0227451309235, + 0.116889893417, + 0.183005587452, + 0.145884593179, + 0.0404632696512, + -0.0692172460255, + -0.132210618675, + -0.132992165067, + -0.088450509583, + -0.0300334865451, + 0.014759066592, + 0.0326371479424, + 0.0251370025436, + 0.00310415202557, + -0.020302945714, + -0.0348267136183, + -0.0353885197884, + -0.0218679681231, + 0.00249760673704, + 0.0330171077458, + 0.0650681603531, + 0.0949802419464, + 0.120321376296, + 0.139773738197, + 0.152806030723, + 0.159309925957, + 0.159309925957, + 0.152806030723, + 0.139773738197, + 0.120321376296, + 0.0949802419464, + 0.0650681603531, + 0.0330171077458, + 0.00249760673704, + -0.0218679681231, + -0.0353885197884, + -0.0348267136183, + -0.020302945714, + 0.00310415202557, + 0.0251370025436, + 0.0326371479424, + 0.014759066592, + -0.0300334865451, + -0.088450509583, + -0.132992165067, + -0.132210618675, + -0.0692172460255, + 0.0404632696512, + 0.145884593179, + 0.183005587452, + 0.116889893417, + -0.0227451309235, + -0.146978072714, + -0.165879388514, + -0.0640036746269, + 0.0748885358023, + 0.133570278182, + 0.0707395064511, + -0.0367392470445, + -0.077893361401, + -0.0324792763436, + 0.0180260988626, + 0.0136836021822, + -0.00212790042206, + 0.0245040850856, + 0.0404475755559, + -0.025338903802, + -0.0885266153997, + -0.0105892580812, + 0.116134638414, + 0.0568192602361, + -0.122550642145, + -0.0921099056337, + 0.120773294629, + 0.107389992978, + -0.121776367438 + ], + [ + -0.106050239301, + -0.0879015604124, + 0.102325990628, + 0.0909389740964, + -0.0807019172559, + -0.0950366175843, + 0.0438754268251, + 0.0876996341545, + -0.00270994646265, + -0.0589452353564, + -0.0206243391329, + 0.0175760656371, + 0.00642723365617, + 0.000424289000745, + 0.0284351500794, + 0.0357886362113, + -0.0183792743299, + -0.0817850492759, + -0.0694193972043, + 0.0260288601063, + 0.118115357712, + 0.116600914008, + 0.0157941453259, + -0.105355971013, + -0.156490089905, + -0.106087531791, + 0.00581334290736, + 0.107499723508, + 0.14638075659, + 0.114605197308, + 0.0416048753315, + -0.031393024241, + -0.0748320906439, + -0.0808222299097, + -0.0596558238303, + -0.0295251838119, + -0.00662099160356, + 0.000352925693844, + -0.00919648511301, + -0.0302645579685, + -0.055709389992, + -0.0790853644725, + -0.0961960547666, + -0.105432751443, + -0.10731744779, + -0.103713713628, + -0.0970458940323, + -0.0897015021157, + -0.0836567538336, + -0.0802858020076, + -0.0802858020076, + -0.0836567538336, + -0.0897015021157, + -0.0970458940323, + -0.103713713628, + -0.10731744779, + -0.105432751443, + -0.0961960547666, + -0.0790853644725, + -0.055709389992, + -0.0302645579685, + -0.00919648511301, + 0.000352925693844, + -0.00662099160356, + -0.0295251838119, + -0.0596558238303, + -0.0808222299097, + -0.0748320906439, + -0.031393024241, + 0.0416048753315, + 0.114605197308, + 0.14638075659, + 0.107499723508, + 0.00581334290736, + -0.106087531791, + -0.156490089905, + -0.105355971013, + 0.0157941453259, + 0.116600914008, + 0.118115357712, + 0.0260288601063, + -0.0694193972043, + -0.0817850492759, + -0.0183792743299, + 0.0357886362113, + 0.0284351500794, + 0.000424289000745, + 0.00642723365617, + 0.0175760656371, + -0.0206243391329, + -0.0589452353564, + -0.00270994646265, + 0.0876996341545, + 0.0438754268251, + -0.0950366175843, + -0.0807019172559, + 0.0909389740964, + 0.102325990628, + -0.0879015604124, + -0.106050239301 + ], + [ + 0.0617155293165, + -0.0948961763657, + -0.0618054169741, + 0.0848230488047, + 0.0678338897137, + -0.060983691684, + -0.0715107329077, + 0.0269658709889, + 0.0613274293135, + 0.00458127527938, + -0.0328747482517, + -0.0132090717242, + 0.00291866827564, + -0.00946218444421, + -0.00625176303977, + 0.0306367288864, + 0.0502489605065, + 0.00741518289701, + -0.0647619747438, + -0.087282165606, + -0.0258851607968, + 0.0704980284661, + 0.118958599712, + 0.0788243296068, + -0.0189700683932, + -0.104826772064, + -0.125860048861, + -0.077435694418, + 0.00442269904122, + 0.0734812901002, + 0.100943071008, + 0.0852418047501, + 0.0446949014181, + 0.00287340909883, + -0.0234559609746, + -0.0291431645409, + -0.0188640869099, + -0.00206920056086, + 0.0120022011547, + 0.0173693674209, + 0.0121121875623, + -0.00241569895732, + -0.0230414064799, + -0.0461650239442, + -0.0687097966044, + -0.0885559721577, + -0.104564371373, + -0.116356992702, + -0.124007208386, + -0.127746245743, + -0.127746245743, + -0.124007208386, + -0.116356992702, + -0.104564371373, + -0.0885559721577, + -0.0687097966044, + -0.0461650239442, + -0.0230414064799, + -0.00241569895732, + 0.0121121875623, + 0.0173693674209, + 0.0120022011547, + -0.00206920056086, + -0.0188640869099, + -0.0291431645409, + -0.0234559609746, + 0.00287340909883, + 0.0446949014181, + 0.0852418047501, + 0.100943071008, + 0.0734812901002, + 0.00442269904122, + -0.077435694418, + -0.125860048861, + -0.104826772064, + -0.0189700683932, + 0.0788243296068, + 0.118958599712, + 0.0704980284661, + -0.0258851607968, + -0.087282165606, + -0.0647619747438, + 0.00741518289701, + 0.0502489605065, + 0.0306367288864, + -0.00625176303977, + -0.00946218444421, + 0.00291866827564, + -0.0132090717242, + -0.0328747482517, + 0.00458127527938, + 0.0613274293135, + 0.0269658709889, + -0.0715107329077, + -0.060983691684, + 0.0678338897137, + 0.0848230488047, + -0.0618054169741, + -0.0948961763657, + 0.0617155293165 + ], + [ + 0.0759141069589, + 0.0396612193267, + -0.0735727745134, + -0.0431309571058, + 0.0610333181189, + 0.0494462103595, + -0.0386736424994, + -0.0502611821142, + 0.0114371961838, + 0.0373703541842, + 0.00759055331138, + -0.0130182258965, + -0.00352762464551, + -0.00176684965644, + -0.018639875881, + -0.01733617193, + 0.0193778272339, + 0.0518778148282, + 0.0327376690014, + -0.0299772168441, + -0.0772470036253, + -0.0609881945262, + 0.00909803202974, + 0.0776632511362, + 0.0937412002729, + 0.0489429103235, + -0.0235409696394, + -0.0786534994387, + -0.0896544159059, + -0.0590729103178, + -0.00967299985075, + 0.032853761292, + 0.0531962867268, + 0.0502481994144, + 0.0330274958592, + 0.0135654603748, + 0.0010901854082, + -0.000544480422946, + 0.00755492392208, + 0.0213566185554, + 0.0361619664876, + 0.0482231025708, + 0.0554654885085, + 0.0574734181445, + 0.0550571252439, + 0.0496984306358, + 0.0430672137974, + 0.0366893528883, + 0.0317662224951, + 0.0291044254715, + 0.0291044254715, + 0.0317662224951, + 0.0366893528883, + 0.0430672137974, + 0.0496984306358, + 0.0550571252439, + 0.0574734181445, + 0.0554654885085, + 0.0482231025708, + 0.0361619664876, + 0.0213566185554, + 0.00755492392208, + -0.000544480422946, + 0.0010901854082, + 0.0135654603748, + 0.0330274958592, + 0.0502481994144, + 0.0531962867268, + 0.032853761292, + -0.00967299985075, + -0.0590729103178, + -0.0896544159059, + -0.0786534994387, + -0.0235409696394, + 0.0489429103235, + 0.0937412002729, + 0.0776632511362, + 0.00909803202974, + -0.0609881945262, + -0.0772470036253, + -0.0299772168441, + 0.0327376690014, + 0.0518778148282, + 0.0193778272339, + -0.01733617193, + -0.018639875881, + -0.00176684965644, + -0.00352762464551, + -0.0130182258965, + 0.00759055331138, + 0.0373703541842, + 0.0114371961838, + -0.0502611821142, + -0.0386736424994, + 0.0494462103595, + 0.0610333181189, + -0.0431309571058, + -0.0735727745134, + 0.0396612193267, + 0.0759141069589 + ], + [ + -0.024266179731, + 0.0525348824234, + 0.0245264672664, + -0.0476832593255, + -0.0288222873104, + 0.0360593354494, + 0.0328646078072, + -0.0187001449329, + -0.0302818701327, + 0.00129147461524, + 0.0175575172945, + 0.00548953984885, + -0.0018353451137, + 0.00466450297704, + 0.00138215083286, + -0.0173336214637, + -0.0237737294228, + 0.00125618116878, + 0.0362244969703, + 0.0416064936461, + 0.00569572683366, + -0.0418532313052, + -0.0597244422396, + -0.0326062880649, + 0.0187551868448, + 0.0580964023733, + 0.0617435106133, + 0.0317490915377, + -0.0109427152628, + -0.043067134408, + -0.0522130308581, + -0.0400996713113, + -0.0175319269468, + 0.00341069050986, + 0.0150978413342, + 0.0160923045532, + 0.00966848449775, + 0.000995920405358, + -0.00534938957968, + -0.00673030068597, + -0.00263308851218, + 0.00589042373094, + 0.01703087304, + 0.0289251606864, + 0.0400951161023, + 0.0496127207278, + 0.0570645947366, + 0.0624084171755, + 0.0657985092257, + 0.0674304971649, + 0.0674304971649, + 0.0657985092257, + 0.0624084171755, + 0.0570645947366, + 0.0496127207278, + 0.0400951161023, + 0.0289251606864, + 0.01703087304, + 0.00589042373094, + -0.00263308851218, + -0.00673030068597, + -0.00534938957968, + 0.000995920405359, + 0.00966848449775, + 0.0160923045532, + 0.0150978413342, + 0.00341069050986, + -0.0175319269468, + -0.0400996713113, + -0.0522130308581, + -0.043067134408, + -0.0109427152628, + 0.0317490915377, + 0.0617435106133, + 0.0580964023733, + 0.0187551868448, + -0.0326062880649, + -0.0597244422396, + -0.0418532313052, + 0.00569572683366, + 0.0416064936461, + 0.0362244969703, + 0.00125618116878, + -0.0237737294228, + -0.0173336214637, + 0.00138215083286, + 0.00466450297704, + -0.0018353451137, + 0.00548953984885, + 0.0175575172945, + 0.00129147461524, + -0.0302818701327, + -0.0187001449329, + 0.0328646078072, + 0.0360593354494, + -0.0288222873104, + -0.0476832593255, + 0.0245264672664, + 0.0525348824234, + -0.024266179731 + ], + [ + -0.0266325682552, + -0.0112819715197, + 0.0258396324984, + 0.0126430958126, + -0.0217665292197, + -0.0152358579043, + 0.0143734135825, + 0.0162013012304, + -0.00507666015618, + -0.0125468901498, + -0.00185133935869, + 0.0046072883364, + 0.00111433209215, + 0.000782670903964, + 0.00633009424671, + 0.00513632427357, + -0.00747493904712, + -0.0173949834257, + -0.00954855542713, + 0.0117467098724, + 0.0261787231336, + 0.0187984518422, + -0.00545427133115, + -0.0273719333746, + -0.0306924919559, + -0.0140787896954, + 0.0103708090981, + 0.0276312283782, + 0.0295929217232, + 0.0180525660439, + 0.00114262279354, + -0.0126029032463, + -0.0184986396858, + -0.0166668651864, + -0.0104358760495, + -0.00388838708379, + 0.0000234079976273, + 0.000221792647614, + -0.00273726192057, + -0.00739968390306, + -0.0121755176724, + -0.015856345386, + -0.0178233671179, + -0.0180136340288, + -0.0167575317222, + -0.0145870014444, + -0.0120756731898, + -0.00973398858679, + -0.00795615127314, + -0.00700306048606, + -0.00700306048606, + -0.00795615127314, + -0.00973398858679, + -0.0120756731898, + -0.0145870014444, + -0.0167575317222, + -0.0180136340288, + -0.0178233671179, + -0.015856345386, + -0.0121755176724, + -0.00739968390306, + -0.00273726192057, + 0.000221792647614, + 0.0000234079976273, + -0.00388838708379, + -0.0104358760495, + -0.0166668651864, + -0.0184986396858, + -0.0126029032463, + 0.00114262279354, + 0.0180525660439, + 0.0295929217232, + 0.0276312283782, + 0.0103708090981, + -0.0140787896954, + -0.0306924919559, + -0.0273719333746, + -0.00545427133115, + 0.0187984518422, + 0.0261787231336, + 0.0117467098724, + -0.00954855542713, + -0.0173949834257, + -0.00747493904712, + 0.00513632427357, + 0.00633009424671, + 0.000782670903963, + 0.00111433209215, + 0.0046072883364, + -0.00185133935869, + -0.0125468901498, + -0.00507666015618, + 0.0162013012304, + 0.0143734135825, + -0.0152358579043, + -0.0217665292197, + 0.0126430958126, + 0.0258396324984, + -0.0112819715197, + -0.0266325682552 + ], + [ + 2.26419383564e-17, + -5.11137762735e-17, + -2.29068249466e-17, + 4.64445515358e-17, + 2.71681363064e-17, + -3.52782392146e-17, + -3.12812458983e-17, + 1.85388995493e-17, + 2.90565613908e-17, + -1.62852812196e-18, + -1.69838675383e-17, + -5.15034857713e-18, + 1.80243342064e-18, + -4.4691901237e-18, + -1.1378292691e-18, + 1.68428473888e-17, + 2.26504780047e-17, + -1.73890813469e-18, + -3.51288100042e-17, + -3.96423531438e-17, + -4.67616037607e-18, + 4.07835618714e-17, + 5.71950096717e-17, + 3.0471630867e-17, + -1.8935669033e-17, + -5.61695341475e-17, + -5.89042177312e-17, + -2.96000565994e-17, + 1.13892013359e-17, + 4.18150884809e-17, + 5.00475678101e-17, + 3.80142393833e-17, + 1.62198610649e-17, + -3.7708393162e-18, + -1.47612757809e-17, + -1.55091916512e-17, + -9.2438950339e-18, + -9.45270970304e-19, + 5.02910953514e-18, + 6.20566802174e-18, + 2.14529422973e-18, + -6.10761678723e-18, + -1.680449779e-17, + -2.81639504362e-17, + -3.878527871e-17, + -4.77997994234e-17, + -5.48315413037e-17, + -5.98566544058e-17, + -6.30351653884e-17, + -6.45621795067e-17, + -6.45621795067e-17, + -6.30351653884e-17, + -5.98566544058e-17, + -5.48315413037e-17, + -4.77997994234e-17, + -3.878527871e-17, + -2.81639504362e-17, + -1.680449779e-17, + -6.10761678723e-18, + 2.14529422973e-18, + 6.20566802174e-18, + 5.02910953514e-18, + -9.45270970304e-19, + -9.2438950339e-18, + -1.55091916512e-17, + -1.47612757809e-17, + -3.7708393162e-18, + 1.62198610649e-17, + 3.80142393833e-17, + 5.00475678101e-17, + 4.18150884809e-17, + 1.13892013359e-17, + -2.96000565994e-17, + -5.89042177312e-17, + -5.61695341475e-17, + -1.8935669033e-17, + 3.0471630867e-17, + 5.71950096717e-17, + 4.07835618714e-17, + -4.67616037607e-18, + -3.96423531438e-17, + -3.51288100042e-17, + -1.73890813469e-18, + 2.26504780047e-17, + 1.68428473888e-17, + -1.1378292691e-18, + -4.4691901237e-18, + 1.80243342064e-18, + -5.15034857713e-18, + -1.69838675383e-17, + -1.62852812196e-18, + 2.90565613908e-17, + 1.85388995493e-17, + -3.12812458983e-17, + -3.52782392146e-17, + 2.71681363064e-17, + 4.64445515358e-17, + -2.29068249466e-17, + -5.11137762735e-17, + 2.26419383564e-17 + ] + ], + "x": [ + -6.28318530718, + -6.15625227067, + -6.02931923416, + -5.90238619765, + -5.77545316114, + -5.64852012464, + -5.52158708813, + -5.39465405162, + -5.26772101511, + -5.1407879786, + -5.01385494209, + -4.88692190558, + -4.75998886908, + -4.63305583257, + -4.50612279606, + -4.37918975955, + -4.25225672304, + -4.12532368653, + -3.99839065002, + -3.87145761351, + -3.74452457701, + -3.6175915405, + -3.49065850399, + -3.36372546748, + -3.23679243097, + -3.10985939446, + -2.98292635795, + -2.85599332145, + -2.72906028494, + -2.60212724843, + -2.47519421192, + -2.34826117541, + -2.2213281389, + -2.09439510239, + -1.96746206588, + -1.84052902938, + -1.71359599287, + -1.58666295636, + -1.45972991985, + -1.33279688334, + -1.20586384683, + -1.07893081032, + -0.951997773815, + -0.825064737306, + -0.698131700798, + -0.571198664289, + -0.44426562778, + -0.317332591272, + -0.190399554763, + -0.0634665182543, + 0.0634665182543, + 0.190399554763, + 0.317332591272, + 0.44426562778, + 0.571198664289, + 0.698131700798, + 0.825064737306, + 0.951997773815, + 1.07893081032, + 1.20586384683, + 1.33279688334, + 1.45972991985, + 1.58666295636, + 1.71359599287, + 1.84052902938, + 1.96746206588, + 2.09439510239, + 2.2213281389, + 2.34826117541, + 2.47519421192, + 2.60212724843, + 2.72906028494, + 2.85599332145, + 2.98292635795, + 3.10985939446, + 3.23679243097, + 3.36372546748, + 3.49065850399, + 3.6175915405, + 3.74452457701, + 3.87145761351, + 3.99839065002, + 4.12532368653, + 4.25225672304, + 4.37918975955, + 4.50612279606, + 4.63305583257, + 4.75998886908, + 4.88692190558, + 5.01385494209, + 5.1407879786, + 5.26772101511, + 5.39465405162, + 5.52158708813, + 5.64852012464, + 5.77545316114, + 5.90238619765, + 6.02931923416, + 6.15625227067, + 6.28318530718 + ], + "y": [ + -6.28318530718, + -6.15625227067, + -6.02931923416, + -5.90238619765, + -5.77545316114, + -5.64852012464, + -5.52158708813, + -5.39465405162, + -5.26772101511, + -5.1407879786, + -5.01385494209, + -4.88692190558, + -4.75998886908, + -4.63305583257, + -4.50612279606, + -4.37918975955, + -4.25225672304, + -4.12532368653, + -3.99839065002, + -3.87145761351, + -3.74452457701, + -3.6175915405, + -3.49065850399, + -3.36372546748, + -3.23679243097, + -3.10985939446, + -2.98292635795, + -2.85599332145, + -2.72906028494, + -2.60212724843, + -2.47519421192, + -2.34826117541, + -2.2213281389, + -2.09439510239, + -1.96746206588, + -1.84052902938, + -1.71359599287, + -1.58666295636, + -1.45972991985, + -1.33279688334, + -1.20586384683, + -1.07893081032, + -0.951997773815, + -0.825064737306, + -0.698131700798, + -0.571198664289, + -0.44426562778, + -0.317332591272, + -0.190399554763, + -0.0634665182543, + 0.0634665182543, + 0.190399554763, + 0.317332591272, + 0.44426562778, + 0.571198664289, + 0.698131700798, + 0.825064737306, + 0.951997773815, + 1.07893081032, + 1.20586384683, + 1.33279688334, + 1.45972991985, + 1.58666295636, + 1.71359599287, + 1.84052902938, + 1.96746206588, + 2.09439510239, + 2.2213281389, + 2.34826117541, + 2.47519421192, + 2.60212724843, + 2.72906028494, + 2.85599332145, + 2.98292635795, + 3.10985939446, + 3.23679243097, + 3.36372546748, + 3.49065850399, + 3.6175915405, + 3.74452457701, + 3.87145761351, + 3.99839065002, + 4.12532368653, + 4.25225672304, + 4.37918975955, + 4.50612279606, + 4.63305583257, + 4.75998886908, + 4.88692190558, + 5.01385494209, + 5.1407879786, + 5.26772101511, + 5.39465405162, + 5.52158708813, + 5.64852012464, + 5.77545316114, + 5.90238619765, + 6.02931923416, + 6.15625227067, + 6.28318530718 + ], + "type": "contour", + "tooltiptemplate": "x: %{x}
y: %{y}
amplitude: %{z}", + "tooltip":{"bgcolor":"rgba(255, 255, 255, 0.2)"} + } + ], + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_splom.json b/test/image/mocks/tooltip_tooltiptemplate_splom.json new file mode 100644 index 00000000000..6884fa8eff5 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_splom.json @@ -0,0 +1,713 @@ +{ + "data": [ + { + "type": "splom", + "name": "Setosa", + "dimensions": [ + { + "label": "SepalLength", + "values": [ + "5.1", + "4.9", + "4.7", + "4.6", + "5.0", + "5.4", + "4.6", + "5.0", + "4.4", + "4.9", + "5.4", + "4.8", + "4.8", + "4.3", + "5.8", + "5.7", + "5.4", + "5.1", + "5.7", + "5.1", + "5.4", + "5.1", + "4.6", + "5.1", + "4.8", + "5.0", + "5.0", + "5.2", + "5.2", + "4.7", + "4.8", + "5.4", + "5.2", + "5.5", + "4.9", + "5.0", + "5.5", + "4.9", + "4.4", + "5.1", + "5.0", + "4.5", + "4.4", + "5.0", + "5.1", + "4.8", + "5.1", + "4.6", + "5.3", + "5.0" + ] + }, + { + "label": "SepalWidth", + "values": [ + "3.5", + "3.0", + "3.2", + "3.1", + "3.6", + "3.9", + "3.4", + "3.4", + "2.9", + "3.1", + "3.7", + "3.4", + "3.0", + "3.0", + "4.0", + "4.4", + "3.9", + "3.5", + "3.8", + "3.8", + "3.4", + "3.7", + "3.6", + "3.3", + "3.4", + "3.0", + "3.4", + "3.5", + "3.4", + "3.2", + "3.1", + "3.4", + "4.1", + "4.2", + "3.1", + "3.2", + "3.5", + "3.1", + "3.0", + "3.4", + "3.5", + "2.3", + "3.2", + "3.5", + "3.8", + "3.0", + "3.8", + "3.2", + "3.7", + "3.3" + ] + }, + { + "label": "PetalLength", + "values": [ + "1.4", + "1.4", + "1.3", + "1.5", + "1.4", + "1.7", + "1.4", + "1.5", + "1.4", + "1.5", + "1.5", + "1.6", + "1.4", + "1.1", + "1.2", + "1.5", + "1.3", + "1.4", + "1.7", + "1.5", + "1.7", + "1.5", + "1.0", + "1.7", + "1.9", + "1.6", + "1.6", + "1.5", + "1.4", + "1.6", + "1.6", + "1.5", + "1.5", + "1.4", + "1.5", + "1.2", + "1.3", + "1.5", + "1.3", + "1.5", + "1.3", + "1.3", + "1.3", + "1.6", + "1.9", + "1.4", + "1.6", + "1.4", + "1.5", + "1.4" + ] + }, + { + "label": "PetalWidth", + "values": [ + "0.2", + "0.2", + "0.2", + "0.2", + "0.2", + "0.4", + "0.3", + "0.2", + "0.2", + "0.1", + "0.2", + "0.2", + "0.1", + "0.1", + "0.2", + "0.4", + "0.4", + "0.3", + "0.3", + "0.3", + "0.2", + "0.4", + "0.2", + "0.5", + "0.2", + "0.2", + "0.4", + "0.2", + "0.2", + "0.2", + "0.2", + "0.4", + "0.1", + "0.2", + "0.1", + "0.2", + "0.2", + "0.1", + "0.2", + "0.2", + "0.3", + "0.3", + "0.2", + "0.6", + "0.4", + "0.3", + "0.2", + "0.2", + "0.2", + "0.2" + ] + } + ], + "marker": { + "color": "red" + }, + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "splom", + "name": "Versicolor", + "dimensions": [ + { + "label": "SepalLength", + "values": [ + "7.0", + "6.4", + "6.9", + "5.5", + "6.5", + "5.7", + "6.3", + "4.9", + "6.6", + "5.2", + "5.0", + "5.9", + "6.0", + "6.1", + "5.6", + "6.7", + "5.6", + "5.8", + "6.2", + "5.6", + "5.9", + "6.1", + "6.3", + "6.1", + "6.4", + "6.6", + "6.8", + "6.7", + "6.0", + "5.7", + "5.5", + "5.5", + "5.8", + "6.0", + "5.4", + "6.0", + "6.7", + "6.3", + "5.6", + "5.5", + "5.5", + "6.1", + "5.8", + "5.0", + "5.6", + "5.7", + "5.7", + "6.2", + "5.1", + "5.7" + ] + }, + { + "label": "SepalWidth", + "values": [ + "3.2", + "3.2", + "3.1", + "2.3", + "2.8", + "2.8", + "3.3", + "2.4", + "2.9", + "2.7", + "2.0", + "3.0", + "2.2", + "2.9", + "2.9", + "3.1", + "3.0", + "2.7", + "2.2", + "2.5", + "3.2", + "2.8", + "2.5", + "2.8", + "2.9", + "3.0", + "2.8", + "3.0", + "2.9", + "2.6", + "2.4", + "2.4", + "2.7", + "2.7", + "3.0", + "3.4", + "3.1", + "2.3", + "3.0", + "2.5", + "2.6", + "3.0", + "2.6", + "2.3", + "2.7", + "3.0", + "2.9", + "2.9", + "2.5", + "2.8" + ] + }, + { + "label": "PetalLength", + "values": [ + "4.7", + "4.5", + "4.9", + "4.0", + "4.6", + "4.5", + "4.7", + "3.3", + "4.6", + "3.9", + "3.5", + "4.2", + "4.0", + "4.7", + "3.6", + "4.4", + "4.5", + "4.1", + "4.5", + "3.9", + "4.8", + "4.0", + "4.9", + "4.7", + "4.3", + "4.4", + "4.8", + "5.0", + "4.5", + "3.5", + "3.8", + "3.7", + "3.9", + "5.1", + "4.5", + "4.5", + "4.7", + "4.4", + "4.1", + "4.0", + "4.4", + "4.6", + "4.0", + "3.3", + "4.2", + "4.2", + "4.2", + "4.3", + "3.0", + "4.1" + ] + }, + { + "label": "PetalWidth", + "values": [ + "1.4", + "1.5", + "1.5", + "1.3", + "1.5", + "1.3", + "1.6", + "1.0", + "1.3", + "1.4", + "1.0", + "1.5", + "1.0", + "1.4", + "1.3", + "1.4", + "1.5", + "1.0", + "1.5", + "1.1", + "1.8", + "1.3", + "1.5", + "1.2", + "1.3", + "1.4", + "1.4", + "1.7", + "1.5", + "1.0", + "1.1", + "1.0", + "1.2", + "1.6", + "1.5", + "1.6", + "1.5", + "1.3", + "1.3", + "1.3", + "1.2", + "1.4", + "1.2", + "1.0", + "1.3", + "1.2", + "1.3", + "1.3", + "1.1", + "1.3" + ] + } + ], + "marker": { + "color": "green" + }, + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "splom", + "name": "Virginica", + "dimensions": [ + { + "label": "SepalLength", + "values": [ + "6.3", + "5.8", + "7.1", + "6.3", + "6.5", + "7.6", + "4.9", + "7.3", + "6.7", + "7.2", + "6.5", + "6.4", + "6.8", + "5.7", + "5.8", + "6.4", + "6.5", + "7.7", + "7.7", + "6.0", + "6.9", + "5.6", + "7.7", + "6.3", + "6.7", + "7.2", + "6.2", + "6.1", + "6.4", + "7.2", + "7.4", + "7.9", + "6.4", + "6.3", + "6.1", + "7.7", + "6.3", + "6.4", + "6.0", + "6.9", + "6.7", + "6.9", + "5.8", + "6.8", + "6.7", + "6.7", + "6.3", + "6.5", + "6.2", + "5.9" + ] + }, + { + "label": "SepalWidth", + "values": [ + "3.3", + "2.7", + "3.0", + "2.9", + "3.0", + "3.0", + "2.5", + "2.9", + "2.5", + "3.6", + "3.2", + "2.7", + "3.0", + "2.5", + "2.8", + "3.2", + "3.0", + "3.8", + "2.6", + "2.2", + "3.2", + "2.8", + "2.8", + "2.7", + "3.3", + "3.2", + "2.8", + "3.0", + "2.8", + "3.0", + "2.8", + "3.8", + "2.8", + "2.8", + "2.6", + "3.0", + "3.4", + "3.1", + "3.0", + "3.1", + "3.1", + "3.1", + "2.7", + "3.2", + "3.3", + "3.0", + "2.5", + "3.0", + "3.4", + "3.0" + ] + }, + { + "label": "PetalLength", + "values": [ + "6.0", + "5.1", + "5.9", + "5.6", + "5.8", + "6.6", + "4.5", + "6.3", + "5.8", + "6.1", + "5.1", + "5.3", + "5.5", + "5.0", + "5.1", + "5.3", + "5.5", + "6.7", + "6.9", + "5.0", + "5.7", + "4.9", + "6.7", + "4.9", + "5.7", + "6.0", + "4.8", + "4.9", + "5.6", + "5.8", + "6.1", + "6.4", + "5.6", + "5.1", + "5.6", + "6.1", + "5.6", + "5.5", + "4.8", + "5.4", + "5.6", + "5.1", + "5.1", + "5.9", + "5.7", + "5.2", + "5.0", + "5.2", + "5.4", + "5.1" + ] + }, + { + "label": "PetalWidth", + "values": [ + "2.5", + "1.9", + "2.1", + "1.8", + "2.2", + "2.1", + "1.7", + "1.8", + "1.8", + "2.5", + "2.0", + "1.9", + "2.1", + "2.0", + "2.4", + "2.3", + "1.8", + "2.2", + "2.3", + "1.5", + "2.3", + "2.0", + "2.0", + "1.8", + "2.1", + "1.8", + "1.8", + "1.8", + "2.1", + "1.6", + "1.9", + "2.0", + "2.2", + "1.5", + "1.4", + "2.3", + "2.4", + "1.8", + "1.8", + "2.1", + "2.4", + "2.3", + "1.9", + "2.3", + "2.5", + "2.3", + "1.9", + "2.0", + "2.3", + "1.8" + ] + } + ], + "marker": { + "color": "blue" + }, + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + } + ], + "layout": { + "title": {"text": "Iris dataset splom"}, + "width": 600, + "height": 500 + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_stacked_area.json b/test/image/mocks/tooltip_tooltiptemplate_stacked_area.json new file mode 100644 index 00000000000..370651567e4 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_stacked_area.json @@ -0,0 +1,258 @@ +{ + "data": [ + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2", + "stackgaps": "interpolate", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x2", + "yaxis": "y2", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "b", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "b", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers", + "groupnorm": "fraction", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "b", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x3", + "yaxis": "y3", + "mode": "lines+markers", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers", + "stackgaps": "interpolate", + "groupnorm": "fraction", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x4", + "yaxis": "y4", + "mode": "lines+markers", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x5", + "yaxis": "y5", + "groupnorm": "percent", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + + { + "x": [2, 5, 6], + "y": [1, 3, 4], + "line": { "color": "green" }, + "stackgroup": "a", + "name": "bottom", + "legendgroup": "m", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [1, 3, 5, 7], + "y": [2, 6, 4, 5], + "line": { "color": "red" }, + "stackgroup": "a", + "name": "middle", + "legendgroup": "b", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "groupnorm": "percent", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + }, + { + "x": [3, 4, 5], + "y": [1, 2, 1], + "line": { "color": "blue" }, + "stackgroup": "a", + "name": "top", + "legendgroup": "t", + "showlegend": false, + "xaxis": "x6", + "yaxis": "y6", + "stackgaps": "interpolate", + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}" + } + ], + "layout": { + "width": 800, + "height": 800, + "xaxis": { "title": { "text": "stackgaps: infer zero" } }, + "xaxis2": { "title": { "text": "stackgaps: interpolate" } }, + "yaxis": { "title": { "text": "groupnorm: -" } }, + "yaxis3": { + "title": { "text": "groupnorm: fraction
mode: lines+markers" } + }, + "yaxis5": { "title": { "text": "groupnorm: percent" } }, + "legend": { "traceorder": "reversed" }, + "grid": { + "columns": 2, + "rows": 3, + "pattern": "independent", + "roworder": "bottom to top" + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_violin_grouped.json b/test/image/mocks/tooltip_tooltiptemplate_violin_grouped.json new file mode 100644 index 00000000000..51d197834f5 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_violin_grouped.json @@ -0,0 +1,93 @@ +{ + "data": [{ + "type": "violin", + "name": "kale", + "y": [ + 0.2, 0.2, 0.6, 1, 0.5, 0.4, + 0.2, 0.7, 0.9, 0.1, 0.5, 0.3 + ], + "x": [ + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2" + ], + "marker": { + "symbol": "line-ew", + "color": "#3D9970", + "line": { + "color": "#3D9970", + "width": 2 + } + }, + "points": "all", + "jitter": 0, + "span": [0, null], + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, { + "type": "violin", + "name": "radishes", + "y": [ + 0.6, 0.7, 0.3, 0.6, 0, 0.5, + 0.7, 0.9, 0.5, 0.8, 0.7, 0.2 + ], + "x": [ + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2" + ], + "marker": { + "symbol": "line-ew", + "color": "#FF4136", + "line": { + "color": "#FF4136", + "width": 2 + } + }, + "points": "all", + "jitter": 0, + "span": [0, null], + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }, { + "type": "violin", + "name": "carrots", + "y": [ + 0.1, 0.3, 0.1, 0.9, 0.6, 0.6, + 0.9, 1, 0.3, 0.6, 0.8, 0.5 + ], + "x": [ + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2" + ], + "marker": { + "symbol": "line-ew", + "color": "#FF851B", + "line": { + "color": "#FF851B", + "width": 2 + } + }, + "points": "all", + "jitter": 0, + "span": [0, null], + "tooltiptemplate": "%{fullData.name}
x: %{x}
y: %{y}", + "tooltip": {"arrowcolor": "blue"} + }], + "layout": { + "yaxis": { + "zeroline": false, + "title": {"text": "normalized moisture"} + }, + "violinmode": "group" + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_tooltiptemplate_waterfall-grouping-vs-defaults.json b/test/image/mocks/tooltip_tooltiptemplate_waterfall-grouping-vs-defaults.json new file mode 100644 index 00000000000..697c0d643e7 --- /dev/null +++ b/test/image/mocks/tooltip_tooltiptemplate_waterfall-grouping-vs-defaults.json @@ -0,0 +1,84 @@ +{ + "data": [ + { + "type": "waterfall", + "y": [ 1, -2, 1 ], + "yaxis": "y2", + "tooltiptemplate": "x: %{x}
y: %{y}
initial: %{initial}
delta: %{delta}
final: %{final}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "waterfall", + "y": [ 2, -1, 2 ], + "tooltiptemplate": "x: %{x}
y: %{y}
delta: %{delta}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "waterfall", + "y": [ 1, -3, 0 ], + "tooltiptemplate": "x: %{x}
y: %{y}
delta: %{delta}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "waterfall", + "y": [ 1, -2, 1 ], + "alignmentgroup": "top", + "hovertext": "alignmentgroup: top", + "xaxis": "x2", + "yaxis": "y2", + "tooltiptemplate": "x: %{x}
y: %{y}
delta: %{delta}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "waterfall", + "y": [ 2, -1, 2 ], + "hovertext": "alignmentgroup: top
offsetgroup: 1", + "alignmentgroup": "bottom", + "offsetgroup": "1", + "xaxis": "x2", + "tooltiptemplate": "x: %{x}
y: %{y}
delta: %{delta}", + "tooltip": {"arrowcolor": "blue"} + }, + { + "type": "waterfall", + "y": [ 1, -3, 0 ], + "hovertext": "alignmentgroup: top
offsetgroup: 2", + "alignmentgroup": "bottom", + "offsetgroup": "2", + "xaxis": "x2", + "tooltiptemplate": "x: %{x}
y: %{y}
delta: %{delta}", + "tooltip": {"arrowcolor": "blue"} + } + ], + "layout": { + "showlegend": false, + "grid": { + "rows": 2, + "columns": 2, + "roworder": "bottom to top" + }, + "colorway": [ "blue", "orange", "green" ], + "margin": { "t": 20 }, + "xaxis": { + "title": { + "text": "no alignmentgroup
no offsetgroup" + } + }, + "xaxis2": { + "title": { + "text": "with alignmentgroup
with offsetgroup" + } + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_violin_grouped.json b/test/image/mocks/tooltip_violin_grouped.json new file mode 100644 index 00000000000..b546691e6c1 --- /dev/null +++ b/test/image/mocks/tooltip_violin_grouped.json @@ -0,0 +1,87 @@ +{ + "data": [{ + "type": "violin", + "name": "kale", + "y": [ + 0.2, 0.2, 0.6, 1, 0.5, 0.4, + 0.2, 0.7, 0.9, 0.1, 0.5, 0.3 + ], + "x": [ + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2" + ], + "marker": { + "symbol": "line-ew", + "color": "#3D9970", + "line": { + "color": "#3D9970", + "width": 2 + } + }, + "points": "all", + "jitter": 0, + "span": [0, null] + }, { + "type": "violin", + "name": "radishes", + "y": [ + 0.6, 0.7, 0.3, 0.6, 0, 0.5, + 0.7, 0.9, 0.5, 0.8, 0.7, 0.2 + ], + "x": [ + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2" + ], + "marker": { + "symbol": "line-ew", + "color": "#FF4136", + "line": { + "color": "#FF4136", + "width": 2 + } + }, + "points": "all", + "jitter": 0, + "span": [0, null] + }, { + "type": "violin", + "name": "carrots", + "y": [ + 0.1, 0.3, 0.1, 0.9, 0.6, 0.6, + 0.9, 1, 0.3, 0.6, 0.8, 0.5 + ], + "x": [ + "day 1", "day 1", "day 1", "day 1", "day 1", "day 1", + "day 2", "day 2", "day 2", "day 2", "day 2", "day 2" + ], + "marker": { + "symbol": "line-ew", + "color": "#FF851B", + "line": { + "color": "#FF851B", + "width": 2 + } + }, + "points": "all", + "jitter": 0, + "span": [0, null] + }], + "layout": { + "yaxis": { + "zeroline": false, + "title": {"text": "normalized moisture"} + }, + "violinmode": "group" + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_waterfall-grouping-vs-defaults.json b/test/image/mocks/tooltip_waterfall-grouping-vs-defaults.json new file mode 100644 index 00000000000..52eec0be652 --- /dev/null +++ b/test/image/mocks/tooltip_waterfall-grouping-vs-defaults.json @@ -0,0 +1,72 @@ +{ + "data": [ + { + "type": "waterfall", + "y": [ 1, -2, 1 ], + "yaxis": "y2" + }, + { + "type": "waterfall", + "y": [ 2, -1, 2 ] + }, + { + "type": "waterfall", + "y": [ 1, -3, 0 ] + }, + { + "type": "waterfall", + "y": [ 1, -2, 1 ], + "alignmentgroup": "top", + "hovertext": "alignmentgroup: top", + "xaxis": "x2", + "yaxis": "y2" + }, + { + "type": "waterfall", + "y": [ 2, -1, 2 ], + "hovertext": "alignmentgroup: top
offsetgroup: 1", + "alignmentgroup": "bottom", + "offsetgroup": "1", + "xaxis": "x2" + }, + { + "type": "waterfall", + "y": [ 1, -3, 0 ], + "hovertext": "alignmentgroup: top
offsetgroup: 2", + "alignmentgroup": "bottom", + "offsetgroup": "2", + "xaxis": "x2" + } + ], + "layout": { + "showlegend": false, + "grid": { + "rows": 2, + "columns": 2, + "roworder": "bottom to top" + }, + "colorway": [ "blue", "orange", "green" ], + "margin": { "t": 20 }, + "xaxis": { + "title": { + "text": "no alignmentgroup
no offsetgroup" + } + }, + "xaxis2": { + "title": { + "text": "with alignmentgroup
with offsetgroup" + } + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/image/mocks/tooltip_waterfall_axis.json b/test/image/mocks/tooltip_waterfall_axis.json new file mode 100644 index 00000000000..6103f2ae5df --- /dev/null +++ b/test/image/mocks/tooltip_waterfall_axis.json @@ -0,0 +1,167 @@ +{ + "data": [ + { + "type": "waterfall", + "x": [ + "A", + "B", + "C" + ], + "y": [ + 5, + -4, + 3 + ], + "measure": [ + "a", + "r", + "r" + ], + "textinfo": "initial+delta+final", + "xaxis": "x", + "yaxis": "y" + }, + { + "type": "waterfall", + "x": [ + "A", + "B", + "C" + ], + "y": [ + 500, + -400, + 300 + ], + "base": 100, + "measure": [ + "a", + "r", + "r" + ], + "textinfo": "initial+delta+final", + "xaxis": "x2", + "yaxis": "y2" + }, + { + "type": "waterfall", + "orientation": "h", + "x": [ + 50000, + -40000, + 30000 + ], + "y": [ + "A", + "B", + "C" + ], + "base": 10000, + "measure": [ + "a", + "r", + "r" + ], + "textinfo": "initial+delta+final", + "xaxis": "x3", + "yaxis": "y3" + }, + { + "type": "waterfall", + "orientation": "h", + "x": [ + 5000000, + -4000000, + 3000000 + ], + "y": [ + "A", + "B", + "C" + ], + "base": 1000000, + "measure": [ + "a", + "r", + "r" + ], + "textinfo": "initial+delta+final", + "xaxis": "x4", + "yaxis": "y4" + } + ], + "layout": { + "width": 800, + "height": 800, + "dragmode": "pan", + "xaxis": { + "domain": [ + 0, + 0.48 + ] + }, + "xaxis2": { + "anchor": "y2", + "domain": [ + 0.52, + 1 + ], + "autorange": "reversed" + }, + "xaxis3": { + "anchor": "y3", + "domain": [ + 0, + 0.48 + ] + }, + "xaxis4": { + "anchor": "y4", + "domain": [ + 0.52, + 1 + ], + "autorange": "reversed" + }, + "yaxis": { + "domain": [ + 0, + 0.48 + ], + "autorange": "reversed" + }, + "yaxis2": { + "anchor": "x2", + "domain": [ + 0.52, + 1 + ] + }, + "yaxis3": { + "anchor": "x3", + "domain": [ + 0.52, + 1 + ], + "autorange": "reversed" + }, + "yaxis4": { + "anchor": "x4", + "domain": [ + 0, + 0.48 + ] + } + }, + "config": { + "editable": true, + "modeBarButtonsToAdd": [ + "tooltip", + "hoverclosest", + "hovercompare", + "togglespikelines" + ], + "displaylogo": false, + "displayModeBar": true + } +} diff --git a/test/jasmine/tests/tooltip_annotation_test.js b/test/jasmine/tests/tooltip_annotation_test.js new file mode 100644 index 00000000000..eb4c7e2ffdd --- /dev/null +++ b/test/jasmine/tests/tooltip_annotation_test.js @@ -0,0 +1,227 @@ +console.log('Testing Tooltip Feature'); +var Plotly = require('../../../lib/index'); +var modeBarButtons = require('../../../src/components/modebar/buttons'); +var createGraphDiv = require('../assets/create_graph_div'); +var destroyGraphDiv = require('../assets/destroy_graph_div'); +var tooltipHeatmapMock = require('../../image/mocks/tooltip_template_heatmap.json'); +var tooltipHistogramSubplotsMock = require('../../image/mocks/tooltip_histogram_subplots.json'); +var tooltipLogScatterMock = require('../../image/mocks/tooltip_log_scatter.json'); +var click = require('../assets/click'); + +describe('Tooltip interactions', function() { + var gd; + + beforeAll(function(done) { + console.log('Creating graph div and initializing plot...'); + Object.defineProperty(document, 'visibilityState', {value: 'visible', writable: true}); + Object.defineProperty(document, 'hidden', {value: false, writable: true}); + gd = createGraphDiv(); + Plotly.newPlot(gd, tooltipHeatmapMock.data, tooltipHeatmapMock.layout, tooltipHeatmapMock.config) + .then(function() { + console.log('Plot initialized.'); + done(); + }).catch(function(error) { + console.error('Error initializing plot:', error); + }); + }); + + afterAll(function() { + console.log('Destroying graph div...'); + destroyGraphDiv(); + }); + + it('should enable tooltip on button click', function(done) { + console.log('Enabling tooltip...'); + modeBarButtons.tooltip.click(gd); + setTimeout(function() { + console.log('Checking if tooltip has been enabled...'); + expect(gd._fullLayout._tooltipEnabled).toBe('on'); + expect(gd._tooltipClickHandler).toBeDefined(); + console.log('Tooltip is enabled:', gd._fullLayout._tooltipEnabled); + done(); + }, 100); + }); + + it('should create a tooltip annotation on plot click', function(done) { + console.log('Simulating plot click for tooltip...'); + click(249, 242); + + setTimeout(function() { + console.log('Checking if annotation has been created...'); + expect(gd._fullLayout.annotations.length).toBe(1); + var expectedText = 'x: 3
y: 4.5
z: 0.9677'; + expect(gd._fullLayout.annotations[0].text).toBe(expectedText); + console.log('Annotation created with text:', gd._fullLayout.annotations[0].text); + done(); + }, 20); + }); + + it('should not add a second tooltip on same point', function(done) { + console.log('Simulating second tooltip on same point...'); + click(237, 242);// click on same data point but out of the drag cursor zone of the tooltip arrow + + setTimeout(function() { + console.log('Checking if annotation has NOT been created...'); + expect(gd._fullLayout.annotations.length).toBe(1);// No extra tooltip annotation + done(); + }, 20); + }); + + it('should simulate user clearing annotation text and remove annotation', function(done) { + console.log('Simulating user clearing annotation text...'); + // Find the specific DOM element or use Plotly's API to simulate the text being cleared + gd._fullLayout.annotations[0].text = ''; // Directly setting it for simulation purposes + Plotly.relayout(gd, { 'annotations[0].text': '' }); // Simulate relayout command that might be triggered by UI interaction + + setTimeout(function() { + console.log('Checking if annotation has been removed...'); + expect(gd._fullLayout.annotations.length).toBe(0); + console.log('Annotation successfully removed.'); + done(); + }, 20); + }); + + it('should deactivate tooltip on button click and stop creating tooltips', function(done) { + console.log('Deactivating tooltip...'); + modeBarButtons.tooltip.click(gd); + setTimeout(function() { + expect(gd._fullLayout._tooltipEnabled).toBe('off'); + console.log('Tooltip is deactivated:', gd._fullLayout._tooltipEnabled); + + // Attempt to trigger a tooltip creation event + console.log('Attempting to create tooltip when feature is deactivated...'); + click(250, 250); + + setTimeout(function() { + // Check that no new annotations were added + expect(gd._fullLayout.annotations.length).toBe(0); + console.log('No new annotations created.'); + done(); + }, 20); + }, 20); + }); +}); + +describe('Histogram Tooltip interactions', function() { + var gd; + + beforeAll(function(done) { + console.log('Creating Histogram graph div and initializing plot...'); + Object.defineProperty(document, 'visibilityState', {value: 'visible', writable: true}); + Object.defineProperty(document, 'hidden', {value: false, writable: true}); + gd = createGraphDiv(); + Plotly.newPlot(gd, tooltipHistogramSubplotsMock.data, tooltipHistogramSubplotsMock.layout, tooltipHistogramSubplotsMock.config) + .then(function() { + console.log('Plot initialized.'); + done(); + }).catch(function(error) { + console.error('Error initializing plot:', error); + }); + }); + + afterAll(function() { + console.log('Destroying graph div...'); + destroyGraphDiv(); + }); + + it('should enable tooltip on button click', function(done) { + console.log('Enabling tooltip...'); + modeBarButtons.tooltip.click(gd); + setTimeout(function() { + console.log('Checking if tooltip has been enabled...'); + expect(gd._fullLayout._tooltipEnabled).toBe('on'); + expect(gd._tooltipClickHandler).toBeDefined(); + console.log('Tooltip is enabled:', gd._fullLayout._tooltipEnabled); + done(); + }, 100); + }); + + it('should create a tooltip annotation on H plot click', function(done) { + console.log('Simulating plot click for tooltip...'); + click(134, 332); + + setTimeout(function() { + console.log('Checking if annotation has been created...'); + expect(gd._fullLayout.annotations.length).toBe(1); + var expectedText = 'x: 6
y: 7.5'; + expect(gd._fullLayout.annotations[0].text).toBe(expectedText); + console.log('Annotation created with text:', gd._fullLayout.annotations[0].text); + done(); + }, 100);// needed more time for next tooltip correct placement + }); + + it('should create a tooltip annotation on second V plot click', function(done) { + console.log('Simulating plot click for tooltip...'); + click(456, 149); + + setTimeout(function() { + console.log('Checking if annotation has been created...'); + expect(gd._fullLayout.annotations.length).toBe(2); + var expectedText = 'x: 7.5
y: 5'; + expect(gd._fullLayout.annotations[1].text).toBe(expectedText); + console.log('Annotation created with text:', gd._fullLayout.annotations[1].text); + done(); + }, 20); + }); +}); + +describe('Log Tooltip interactions', function() { + var gd; + + beforeAll(function(done) { + console.log('Creating log axis graph div and initializing plot...'); + gd = createGraphDiv(); + Plotly.newPlot(gd, tooltipLogScatterMock.data, tooltipLogScatterMock.layout, tooltipLogScatterMock.config) + .then(function() { + console.log('Plot initialized.'); + done(); + }).catch(function(error) { + console.error('Error initializing plot:', error); + }); + }); + + afterAll(function() { + console.log('Destroying graph div...'); + destroyGraphDiv(); + }); + + it('should enable tooltip on button click', function(done) { + console.log('Enabling tooltip...'); + modeBarButtons.tooltip.click(gd); + setTimeout(function() { + console.log('Checking if tooltip has been enabled...'); + expect(gd._fullLayout._tooltipEnabled).toBe('on'); + expect(gd._tooltipClickHandler).toBeDefined(); + console.log('Tooltip is enabled:', gd._fullLayout._tooltipEnabled); + done(); + }, 100); + }); + + it('should create a tooltip annotation on first log plot click', function(done) { + console.log('Simulating plot click for tooltip...'); + click(232, 293); + + setTimeout(function() { + console.log('Checking if annotation has been created...'); + expect(gd._fullLayout.annotations.length).toBe(1); + var expectedText = 'x: 1000
y: 10'; + expect(gd._fullLayout.annotations[0].text).toBe(expectedText); + console.log('Annotation created with text:', gd._fullLayout.annotations[0].text); + done(); + }, 100);// needed more time for next tooltip correct placement + }); + + it('should create a tooltip annotation on second log plot click', function(done) { + console.log('Simulating plot click for tooltip...'); + click(540, 117); + + setTimeout(function() { + console.log('Checking if another annotation has been created...'); + expect(gd._fullLayout.annotations.length).toBe(2); + var expectedText = 'x: 25
y: 1e+4'; + expect(gd._fullLayout.annotations[1].text).toBe(expectedText); + console.log('Annotation created with text:', gd._fullLayout.annotations[1].text); + done(); + }, 20); + }); +}); diff --git a/test/plot-schema.json b/test/plot-schema.json index 6aa77cf3338..36a41ebf237 100644 --- a/test/plot-schema.json +++ b/test/plot-schema.json @@ -4541,7 +4541,7 @@ }, "add": { "arrayOk": true, - "description": "Determines which predefined modebar buttons to add. Please note that these buttons will only be shown if they are compatible with all trace types used in a graph. Similar to `config.modeBarButtonsToAdd` option. This may include *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect*, *eraseshape*.", + "description": "Determines which predefined modebar buttons to add. Please note that these buttons will only be shown if they are compatible with all trace types used in a graph. Similar to `config.modeBarButtonsToAdd` option. This may include *tooltip*, *v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*, *drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect*, *eraseshape*.", "dflt": "", "editType": "modebar", "valType": "string" @@ -18317,6 +18317,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "bar", "uid": { "anim": true, @@ -21416,6 +21922,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "box", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -22241,6 +23253,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "x: %{x}
open: %{open:.2f}
high: %{high:.2f}
low: %{low:.2f}
close: %{close:.2f}", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "candlestick", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -30805,6 +32323,512 @@ "editType": "plot", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "x: %{x}
y: %{y}
z: %{z}", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "transpose": { "description": "Transposes the z data.", "dflt": false, @@ -36664,6 +38688,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "funnel", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -39312,6 +41842,512 @@ "editType": "plot", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "x: %{x}
y: %{y}
z: %{z}", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "transpose": { "description": "Transposes the z data.", "dflt": false, @@ -41617,6 +44653,512 @@ "editType": "plot", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `binNumber`", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "histogram", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -43105,6 +46647,512 @@ "editType": "plot", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z`", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "histogram2d", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -44840,6 +48888,512 @@ "editType": "plot", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z`", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "histogram2dcontour", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -52664,6 +57218,512 @@ "min": 0, "valType": "number" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "x: %{x}
open: %{open:.2f}
high: %{high:.2f}
low: %{low:.2f}
close: %{close:.2f}", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "ohlc", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -60868,6 +65928,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "scatter", "uid": { "anim": true, @@ -65999,6 +71565,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "a: %{a}
b: %{b}
y: %{y}", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "scattercarpet", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -70578,6 +76650,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "scattergl", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -84818,6 +91396,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "splom", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -94366,6 +101450,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "type": "violin", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -97246,6 +104836,512 @@ "editType": "none", "valType": "string" }, + "tooltip": { + "description": "Accepts any properties typically used in annotations. This flexible structure allows for customization according to specific needs.", + "editType": "calc", + "valType": "any", + "values": { + "_isLinkedToArray": "annotation", + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", + "dflt": "center", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "editType": "arraydraw", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the end annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "arrowside": { + "description": "Sets the annotation arrow head position.", + "dflt": "end", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "end", + "start" + ], + "valType": "flaglist" + }, + "arrowsize": { + "description": "Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow line.", + "editType": "calc+arraydraw", + "min": 0.1, + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. If `axref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). If `axref` is not `pixel` and is exactly the same as `xref`, this is an absolute value on that axis, like `x`, specified in the same coordinates as `xref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "axref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. If `ayref` is `pixel`, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). If `ayref` is not `pixel` and is exactly the same as `yref`, this is an absolute value on that axis, like `y`, specified in the same coordinates as `yref`.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "ayref": { + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "dflt": "pixel", + "editType": "calc", + "valType": "enumerated", + "values": [ + "pixel", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "editType": "arraydraw", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "captureevents": { + "description": "Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is *false* unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.", + "editType": "arraydraw", + "valType": "boolean" + }, + "clicktoshow": { + "description": "Makes this annotation respond to clicks on the plot. If you click a data point that exactly matches the `x` and `y` values of this annotation, and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to different `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.", + "dflt": false, + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + false, + "onoff", + "onout" + ] + }, + "editType": "calc", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "editType": "calc+arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "calc+arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, + "size": { + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc+arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "height": { + "description": "Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "hoverlabel": { + "bgcolor": { + "description": "Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.", + "editType": "arraydraw", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.", + "editType": "arraydraw", + "valType": "color" + }, + "editType": "arraydraw", + "font": { + "color": { + "editType": "arraydraw", + "valType": "color" + }, + "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", + "editType": "arraydraw", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "arraydraw", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, + "size": { + "editType": "arraydraw", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "arraydraw", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + } + }, + "hovertext": { + "description": "Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.", + "editType": "arraydraw", + "valType": "string" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "editType": "arraydraw", + "max": 1, + "min": 0, + "valType": "number" + }, + "showarrow": { + "description": "Determines whether or not the annotation is drawn with an arrow. If *true*, `text` is placed near the arrow's tail. If *false*, `text` lines up with the `x` and `y` provided.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "standoff": { + "description": "Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "startarrowhead": { + "description": "Sets the start annotation arrow head style.", + "dflt": 1, + "editType": "arraydraw", + "max": 8, + "min": 0, + "valType": "integer" + }, + "startarrowsize": { + "description": "Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc+arraydraw", + "min": 0.3, + "valType": "number" + }, + "startstandoff": { + "description": "Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.", + "dflt": 0, + "editType": "calc+arraydraw", + "min": 0, + "valType": "number" + }, + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", + "editType": "calc+arraydraw", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "angle" + }, + "valign": { + "description": "Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.", + "dflt": "middle", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "visible": { + "description": "Determines whether or not this annotation is visible.", + "dflt": true, + "editType": "calc+arraydraw", + "valType": "boolean" + }, + "width": { + "description": "Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.", + "dflt": null, + "editType": "calc+arraydraw", + "min": 1, + "valType": "number" + }, + "x": { + "description": "Sets the annotation's x position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "xanchor": { + "description": "Sets the text box's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the annotation. For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xclick": { + "description": "Toggle this annotation when clicking a data point whose `x` value is `xclick` rather than the annotation's `x` value.", + "editType": "arraydraw", + "valType": "any" + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "xshift": { + "description": "Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + }, + "y": { + "description": "Sets the annotation's y position. If the axis `type` is *log*, then you must take the log of your desired range. If the axis `type` is *date*, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is *category*, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc+arraydraw", + "valType": "any" + }, + "yanchor": { + "description": "Sets the text box's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation. For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yclick": { + "description": "Toggle this annotation when clicking a data point whose `y` value is `yclick` rather than the annotation's `y` value.", + "editType": "arraydraw", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + ] + }, + "yshift": { + "description": "Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.", + "dflt": 0, + "editType": "calc+arraydraw", + "valType": "number" + } + } + }, + "tooltiptemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on tooltip box. The parameters and syntax are the same than for hovertemplate. Note that this will override `tooltipinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `tooltiptemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `initial`, `delta` and `final`.", + "dflt": "initial: %{initial}
delta: %{delta}
final: %{final}", + "editType": "none", + "valType": "string" + }, + "tooltiptemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tooltiptemplate`.", + "editType": "none", + "valType": "string" + }, "totals": { "editType": "style", "marker": {