diff --git a/src/components/colorbar/attributes.js b/src/components/colorbar/attributes.js index 3a562b516a0..75ea3aa19c9 100644 --- a/src/components/colorbar/attributes.js +++ b/src/components/colorbar/attributes.js @@ -228,4 +228,10 @@ module.exports = overrideAll({ ].join(' ') } }, + _deprecated: { + title: { + valType: 'string', + description: 'It is recommended to use the color bar\'s `title.text` attribute instead.' + } + } }, 'colorbars', 'from-root'); diff --git a/src/plot_api/helpers.js b/src/plot_api/helpers.js index d57be1bc622..0799c4298d2 100644 --- a/src/plot_api/helpers.js +++ b/src/plot_api/helpers.js @@ -81,6 +81,30 @@ exports.cleanLayout = function(layout) { // prune empty domain arrays made before the new nestedProperty if(emptyContainer(ax, 'domain')) delete ax.domain; + + cleanTitle(ax); + } else if(polarAttrRegex && polarAttrRegex.test(key)) { + // modifications for polar + + var polar = layout[key]; + cleanTitle(polar.radialaxis); + } else if(ternaryAttrRegex && ternaryAttrRegex.test(key)) { + // modifications for ternary + + var ternary = layout[key]; + cleanTitle(ternary.aaxis); + cleanTitle(ternary.baxis); + cleanTitle(ternary.caxis); + } else if(sceneAttrRegex && sceneAttrRegex.test(key)) { + // modifications for 3D scenes + + var scene = layout[key]; + + // clean axis titles + cleanTitle(scene.xaxis); + cleanTitle(scene.yaxis); + cleanTitle(scene.zaxis); + } } @@ -134,6 +158,9 @@ exports.cleanLayout = function(layout) { } } + // clean plot title + cleanTitle(layout); + /* * Moved from rotate -> orbit for dragmode */ @@ -159,6 +186,25 @@ function cleanAxRef(container, attr) { } } +/** + * Cleans up old title-as-string attribute by moving a string passed as `title` to `title.text`. + * + * @param {Object} titleContainer - an object potentially including a `title` attribute + * which may be a string + */ +function cleanTitle(titleContainer) { + if(titleContainer) { + // title -> title.text + // (although title used to be a string attribute, + // numbers are accepted as well) + if(typeof titleContainer.title === 'string' || typeof titleContainer.title === 'number') { + titleContainer.title = { + text: titleContainer.title + }; + } + } +} + /* * cleanData: Make a few changes to the data for backward compatibility * before it gets used for anything. Modifies the data traces users provide. @@ -293,6 +339,13 @@ exports.cleanData = function(data) { delete trace.autobiny; delete trace.ybins; } + + cleanTitle(trace); + if(trace.colorbar) cleanTitle(trace.colorbar); + if(trace.marker && trace.marker.colorbar) cleanTitle(trace.marker.colorbar); + if(trace.line && trace.line.colorbar) cleanTitle(trace.line.colorbar); + if(trace.aaxis) cleanTitle(trace.aaxis); + if(trace.baxis) cleanTitle(trace.baxis); } }; diff --git a/src/plot_api/plot_api.js b/src/plot_api/plot_api.js index 39f9bc93496..2f4c5ac6f7c 100644 --- a/src/plot_api/plot_api.js +++ b/src/plot_api/plot_api.js @@ -1392,6 +1392,8 @@ function _restyle(gd, aobj, traces) { var eventData = Lib.extendDeepAll({}, aobj); var i; + cleanTitleAttribute(aobj); + // initialize flags var flags = editTypes.traceFlags(); @@ -1693,6 +1695,40 @@ function _restyle(gd, aobj, traces) { }; } +/** + * When a string is passed to the title attribute, convert it + * to title.text instead. + * + * This is needed for the update mechanism to determine which + * subroutines to run based on the actual attribute + * definitions (that don't include the deprecated ones). + * + * E.g. Maps {'xaxis.title': 'A chart'} to {'xaxis.title.text': 'A chart'}. + * + * @param aobj + */ +function cleanTitleAttribute(aobj) { + var oldAxisTitleRegex = Lib.counterRegex('axis', '\.title', false, false); + var colorbarRegex = /colorbar\.title$/; + var keys = Object.keys(aobj); + var i, key, value; + + for(i = 0; i < keys.length; i++) { + key = keys[i]; + value = aobj[key]; + + if((key === 'title' || oldAxisTitleRegex.test(key) || colorbarRegex.test(key)) && + (typeof value === 'string' || typeof value === 'number')) { + replace(key, key.replace('title', 'title.text')); + } + } + + function replace(oldAttrStr, newAttrStr) { + aobj[newAttrStr] = aobj[oldAttrStr]; + delete aobj[oldAttrStr]; + } +} + /** * relayout: update layout attributes of an existing plot * @@ -1878,6 +1914,8 @@ function _relayout(gd, aobj) { keys = Object.keys(aobj); + cleanTitleAttribute(aobj); + // look for 'allaxes', split out into all axes // in case of 3D the axis are nested within a scene which is held in _id for(i = 0; i < keys.length; i++) { diff --git a/src/plots/cartesian/layout_attributes.js b/src/plots/cartesian/layout_attributes.js index 32afc99457a..423b512a148 100644 --- a/src/plots/cartesian/layout_attributes.js +++ b/src/plots/cartesian/layout_attributes.js @@ -1230,4 +1230,12 @@ module.exports = { ].join(' ') }, editType: 'calc', + + _deprecated: { + title: { + valType: 'string', + editType: 'ticks', + description: 'It is recommended to use the layout\'s `title.text` attribute instead.' + }, + } }; diff --git a/src/plots/gl3d/layout/axis_attributes.js b/src/plots/gl3d/layout/axis_attributes.js index b501c570575..9d24ade3fb4 100644 --- a/src/plots/gl3d/layout/axis_attributes.js +++ b/src/plots/gl3d/layout/axis_attributes.js @@ -121,4 +121,7 @@ module.exports = overrideAll({ zeroline: axesAttrs.zeroline, zerolinecolor: axesAttrs.zerolinecolor, zerolinewidth: axesAttrs.zerolinewidth, + _deprecated: { + title: axesAttrs._deprecated.title + } }, 'plot', 'from-root'); diff --git a/src/plots/layout_attributes.js b/src/plots/layout_attributes.js index 60540e53b94..fefe5ff86c7 100644 --- a/src/plots/layout_attributes.js +++ b/src/plots/layout_attributes.js @@ -451,4 +451,11 @@ module.exports = { ].join(' '), editType: 'none' }), + _deprecated: { + title: { + valType: 'string', + editType: 'layoutstyle', + description: 'It is recommended to use the layout\'s `title.text` attribute instead.' + } + } }; diff --git a/src/plots/polar/layout_attributes.js b/src/plots/polar/layout_attributes.js index 052749af701..1c6512d5bcc 100644 --- a/src/plots/polar/layout_attributes.js +++ b/src/plots/polar/layout_attributes.js @@ -146,6 +146,10 @@ var radialAxisAttrs = { }, editType: 'calc', + + _deprecated: { + title: axesAttrs._deprecated.title + } }; extendFlat( diff --git a/src/plots/ternary/layout_attributes.js b/src/plots/ternary/layout_attributes.js index abc6fe29f6f..7ba9be54326 100644 --- a/src/plots/ternary/layout_attributes.js +++ b/src/plots/ternary/layout_attributes.js @@ -62,6 +62,9 @@ var ternaryAxesAttrs = { 'all the minima set to zero.' ].join(' ') }, + _deprecated: { + title: axesAttrs._deprecated.title + } }; var attrs = module.exports = overrideAll({ diff --git a/src/traces/carpet/axis_attributes.js b/src/traces/carpet/axis_attributes.js index 688f1a11a50..da8ad2312cd 100644 --- a/src/traces/carpet/axis_attributes.js +++ b/src/traces/carpet/axis_attributes.js @@ -451,5 +451,13 @@ module.exports = { editType: 'calc', description: 'The stride between grid lines along the axis' }, - editType: 'calc' + editType: 'calc', + + _deprecated: { + title: { + valType: 'string', + editType: 'calc', + description: 'It is recommended to use the axis\'s `title.text` attribute instead.' + } + }, }; diff --git a/src/traces/pie/attributes.js b/src/traces/pie/attributes.js index cd1c657346f..36d289075b6 100644 --- a/src/traces/pie/attributes.js +++ b/src/traces/pie/attributes.js @@ -292,4 +292,13 @@ module.exports = { 'or an array to highlight one or more slices.' ].join(' ') }, + + _deprecated: { + title: { + valType: 'string', + dflt: '', + editType: 'calc', + description: 'It is recommended to use the pie\'s `title.text` attribute instead.' + } + } }; diff --git a/test/jasmine/tests/funnelarea_test.js b/test/jasmine/tests/funnelarea_test.js index 078a29f8f9b..bd753a09b3f 100644 --- a/test/jasmine/tests/funnelarea_test.js +++ b/test/jasmine/tests/funnelarea_test.js @@ -568,6 +568,24 @@ describe('Funnelarea traces', function() { .then(done, done.fail); }); + it('should be able to restyle title despite using deprecated title-as-string', function(done) { + Plotly.newPlot(gd, [{ + type: 'funnelarea', + values: [1, 2, 3], + title: 'yo', + }]) + .then(function() { + _assertTitle('base', 'yo', 'rgb(68, 68, 68)'); + return Plotly.restyle(gd, { + title: 'oy', + }); + }) + .then(function() { + _assertTitle('base', 'oy', 'rgb(68, 68, 68)'); + }) + .then(done, done.fail); + }); + it('should be able to react with new text colors', function(done) { Plotly.newPlot(gd, [{ type: 'funnelarea', diff --git a/test/jasmine/tests/pie_test.js b/test/jasmine/tests/pie_test.js index d1820868f82..c17157695cd 100644 --- a/test/jasmine/tests/pie_test.js +++ b/test/jasmine/tests/pie_test.js @@ -786,6 +786,24 @@ describe('Pie traces', function() { .then(done, done.fail); }); + it('should be able to restyle title despite using deprecated title-as-string', function(done) { + Plotly.newPlot(gd, [{ + type: 'funnelarea', + values: [1, 2, 3], + title: 'yo', + }]) + .then(function() { + _assertTitle('base', 'yo', 'rgb(68, 68, 68)'); + return Plotly.restyle(gd, { + title: 'oy', + }); + }) + .then(function() { + _assertTitle('base', 'oy', 'rgb(68, 68, 68)'); + }) + .then(done, done.fail); + }); + it('should be able to react with new text colors', function(done) { Plotly.newPlot(gd, [{ type: 'pie', diff --git a/test/jasmine/tests/plot_api_test.js b/test/jasmine/tests/plot_api_test.js index 5af80966015..da392b1b9fa 100644 --- a/test/jasmine/tests/plot_api_test.js +++ b/test/jasmine/tests/plot_api_test.js @@ -526,6 +526,30 @@ describe('Test plot api', function() { .then(assertSizeAndThen(543, 432, true, 'final back to autosize')) .then(done, done.fail); }); + + it('passes update data back to plotly_relayout unmodified ' + + 'even if deprecated title-as-string has been used', function(done) { + Plotly.newPlot(gd, [{y: [1, 3, 2]}]) + .then(function() { + gd.on('plotly_relayout', function(eventData) { + expect(eventData).toEqual({ + title: 'Plotly chart', + 'xaxis.title': 'X', + 'yaxis.title': 'Y', + 'polar.radialaxis.title': 'Radial' + }); + done(); + }); + + return Plotly.relayout(gd, { + title: 'Plotly chart', + 'xaxis.title': 'X', + 'yaxis.title': 'Y', + 'polar.radialaxis.title': 'Radial' + }); + }) + .then(done, done.fail); + }); }); describe('Plotly.relayout subroutines switchboard', function() { diff --git a/test/jasmine/tests/titles_test.js b/test/jasmine/tests/titles_test.js index 839cbdd55b3..5ee1dea36bd 100644 --- a/test/jasmine/tests/titles_test.js +++ b/test/jasmine/tests/titles_test.js @@ -52,6 +52,15 @@ describe('Plot title', function() { .then(done, done.fail); }); + it('can still be defined as `layout.title` to ensure backwards-compatibility', function(done) { + Plotly.newPlot(gd, data, {title: 'Plotly line chart'}) + .then(function() { + expectTitle('Plotly line chart'); + expectDefaultCenteredPosition(gd); + }) + .then(done, done.fail); + }); + it('can be updated via `relayout`', function(done) { Plotly.newPlot(gd, data, { title: { text: 'Plotly line chart' } }) .then(expectTitleFn('Plotly line chart')) @@ -619,6 +628,23 @@ describe('Titles can be updated', function() { 'xaxis.title.text': NEW_XTITLE, 'yaxis.title.text': NEW_YTITLE } + }, + { + desc: 'despite passing title only as a string (backwards-compatibility)', + update: { + title: NEW_TITLE, + xaxis: {title: NEW_XTITLE}, + yaxis: {title: NEW_YTITLE} + } + }, + { + desc: 'despite passing title only as a string using string attributes ' + + '(backwards-compatibility)', + update: { + title: NEW_TITLE, + 'xaxis.title': NEW_XTITLE, + 'yaxis.title': NEW_YTITLE + } } ].forEach(function(testCase) { it('via `Plotly.relayout` ' + testCase.desc, function(done) { @@ -869,6 +895,60 @@ describe('Title fonts can be updated', function() { } }); +describe('Titles for multiple axes', function() { + 'use strict'; + + var data = [ + {x: [1, 2, 3], y: [1, 2, 3], xaxis: 'x', yaxis: 'y'}, + {x: [1, 2, 3], y: [3, 2, 1], xaxis: 'x2', yaxis: 'y2'} + ]; + var multiAxesLayout = { + xaxis: { title: 'X-Axis 1' }, + xaxis2: { + title: 'X-Axis 2', + side: 'top' + }, + yaxis: { title: 'Y-Axis 1' }, + yaxis2: { + title: 'Y-Axis 2', + side: 'right' + } + }; + var gd; + + beforeEach(function() { + gd = createGraphDiv(); + }); + + afterEach(destroyGraphDiv); + + it('still supports deprecated title-as-string (backwards-compatibility)', function(done) { + Plotly.newPlot(gd, data, multiAxesLayout) + .then(function() { + expect(xTitleSel(1).text()).toBe('X-Axis 1'); + expect(xTitleSel(2).text()).toBe('X-Axis 2'); + expect(yTitleSel(1).text()).toBe('Y-Axis 1'); + expect(yTitleSel(2).text()).toBe('Y-Axis 2'); + }) + .then(done, done.fail); + }); + + it('can be updated using deprecated title-as-string (backwards-compatibility)', function(done) { + Plotly.newPlot(gd, data, multiAxesLayout) + .then(function() { + return Plotly.relayout(gd, { + 'xaxis2.title': '2nd X-Axis', + 'yaxis2.title': '2nd Y-Axis', + }); + }) + .then(function() { + expect(xTitleSel(2).text()).toBe('2nd X-Axis'); + expect(yTitleSel(2).text()).toBe('2nd Y-Axis'); + }) + .then(done, done.fail); + }); +}); + // TODO: Add in tests for interactions with other automargined elements describe('Title automargining', function() { 'use strict'; diff --git a/test/plot-schema.json b/test/plot-schema.json index 4852cce7522..f88c069b3b8 100644 --- a/test/plot-schema.json +++ b/test/plot-schema.json @@ -216,6 +216,11 @@ "min": 0, "valType": "number" }, + "globalTransforms": { + "description": "Set global transform to be applied to all traces with no specification needed", + "dflt": [], + "valType": "any" + }, "linkText": { "description": "Sets the text appearing in the `showLink` link.", "dflt": "Edit chart", @@ -267,7 +272,7 @@ "valType": "integer" }, "plotGlPixelRatio": { - "description": "Set the pixel ratio during WebGL image export.", + "description": "Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated.", "dflt": 2, "max": 4, "min": 1, @@ -591,6 +596,13 @@ }, "layout": { "layoutAttributes": { + "_deprecated": { + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "layoutstyle", + "valType": "string" + } + }, "activeselection": { "editType": "none", "fillcolor": { @@ -1219,6 +1231,13 @@ "valType": "number" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -5627,6 +5646,13 @@ "valType": "number" }, "radialaxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "ticks", + "valType": "string" + } + }, "angle": { "description": "Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle.", "editType": "plot", @@ -7057,6 +7083,13 @@ "valType": "any" }, "xaxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "plot", + "valType": "string" + } + }, "autorange": { "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.", "dflt": true, @@ -7796,6 +7829,13 @@ } }, "yaxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "plot", + "valType": "string" + } + }, "autorange": { "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.", "dflt": true, @@ -8535,6 +8575,13 @@ } }, "zaxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "plot", + "valType": "string" + } + }, "autorange": { "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.", "dflt": true, @@ -11080,6 +11127,13 @@ "ternary": { "_isSubplotObj": true, "aaxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "plot", + "valType": "string" + } + }, "color": { "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.", "dflt": "#444", @@ -11593,6 +11647,13 @@ } }, "baxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "plot", + "valType": "string" + } + }, "color": { "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.", "dflt": "#444", @@ -12112,6 +12173,13 @@ "valType": "color" }, "caxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "plot", + "valType": "string" + } + }, "color": { "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.", "dflt": "#444", @@ -13422,6 +13490,18 @@ "valType": "number" }, "xaxis": { + "_deprecated": { + "autotick": { + "description": "Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.", + "editType": "ticks", + "valType": "boolean" + }, + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "ticks", + "valType": "string" + } + }, "_isSubplotObj": true, "anchor": { "description": "If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.", @@ -14967,6 +15047,18 @@ } }, "yaxis": { + "_deprecated": { + "autotick": { + "description": "Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.", + "editType": "ticks", + "valType": "boolean" + }, + "title": { + "description": "It is recommended to use the layout's `title.text` attribute instead.", + "editType": "ticks", + "valType": "string" + } + }, "_isSubplotObj": true, "anchor": { "description": "If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.", @@ -17037,6 +17129,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -18317,6 +18416,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "bar", "uid": { "anim": true, @@ -19070,6 +19179,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -20056,6 +20172,16 @@ "gradians" ] }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "barpolar", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -21416,6 +21542,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "box", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -22241,6 +22377,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "candlestick", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -22413,6 +22559,13 @@ "valType": "number" }, "aaxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the axis's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "arraydtick": { "description": "The stride between grid lines along the axis", "dflt": 1, @@ -23084,6 +23237,13 @@ "valType": "number" }, "baxis": { + "_deprecated": { + "title": { + "description": "It is recommended to use the axis's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "arraydtick": { "description": "The stride between grid lines along the axis", "dflt": 1, @@ -24140,6 +24300,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -25314,6 +25481,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "choropleth", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -25427,6 +25604,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -26589,6 +26773,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "choroplethmap", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -26704,6 +26898,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -27866,6 +28067,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "choroplethmapbox", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -28020,6 +28231,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -29365,6 +29583,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -30805,6 +31030,16 @@ "editType": "plot", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "transpose": { "description": "Transposes the z data.", "dflt": false, @@ -31182,6 +31417,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -32408,6 +32650,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -33524,6 +33773,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "densitymap", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -33623,6 +33882,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -34739,6 +35005,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "densitymapbox", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -35500,6 +35776,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -36664,6 +36947,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "funnel", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -38029,6 +38322,16 @@ "valType": "string" } }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "funnelarea", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -38113,6 +38416,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -39312,6 +39622,16 @@ "editType": "plot", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "transpose": { "description": "Transposes the z data.", "dflt": false, @@ -40455,6 +40775,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -41617,6 +41944,16 @@ "editType": "plot", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "histogram", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -41901,6 +42238,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -43105,6 +43449,16 @@ "editType": "plot", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "histogram2d", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -43399,6 +43753,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -44840,6 +45201,16 @@ "editType": "plot", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "histogram2dcontour", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -45760,6 +46131,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -47151,6 +47529,16 @@ }, "role": "object" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "icicle", "uid": { "anim": true, @@ -48966,6 +49354,16 @@ "valType": "string" } }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "indicator", "uid": { "anim": true, @@ -49114,6 +49512,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -50634,6 +51039,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -52664,6 +53076,16 @@ "min": 0, "valType": "number" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "ohlc", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -53230,6 +53652,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -54014,6 +54443,16 @@ "valType": "integer" } }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "parcats", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -54513,6 +54952,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -55429,6 +55875,16 @@ "valType": "integer" } }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "parcoords", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -55488,6 +55944,14 @@ "pie": { "animatable": false, "attributes": { + "_deprecated": { + "title": { + "description": "It is recommended to use the pie's `title.text` attribute instead.", + "dflt": "", + "editType": "calc", + "valType": "string" + } + }, "automargin": { "description": "Determines whether outside text labels can push the margins.", "dflt": false, @@ -56867,6 +57331,16 @@ "valType": "string" } }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "pie", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -59216,6 +59690,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -60868,6 +61349,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scatter", "uid": { "anim": true, @@ -61846,6 +62337,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -62555,6 +63053,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -63642,6 +64147,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scatter3d", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -64382,6 +64897,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -65999,6 +66521,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scattercarpet", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -66669,6 +67201,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -68279,6 +68818,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scattergeo", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -69071,6 +69620,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -70578,6 +71134,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scattergl", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -71393,6 +71959,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -72274,6 +72847,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scattermap", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -72930,6 +73513,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -73811,6 +74401,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scattermapbox", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -74450,6 +75050,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -76115,6 +76722,16 @@ "gradians" ] }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scatterpolar", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -76710,6 +77327,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -78266,6 +78890,16 @@ "gradians" ] }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scatterpolargl", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -78914,6 +79548,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -80546,6 +81187,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scattersmith", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -81213,6 +81864,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -82843,6 +83501,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "scatterternary", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -83443,6 +84111,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -84818,6 +85493,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "splom", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -84964,6 +85649,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -87009,6 +87701,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -88176,6 +88875,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "sunburst", "uid": { "anim": true, @@ -88232,6 +88941,20 @@ "surface": { "animatable": false, "attributes": { + "_deprecated": { + "zauto": { + "description": "Obsolete. Use `cauto` instead.", + "editType": "calc" + }, + "zmax": { + "description": "Obsolete. Use `cmax` instead.", + "editType": "calc" + }, + "zmin": { + "description": "Obsolete. Use `cmin` instead.", + "editType": "calc" + } + }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": false, @@ -88279,6 +89002,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -91605,6 +92335,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "colorbars", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -93052,6 +93789,16 @@ "valType": "number" } }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "treemap", "uid": { "anim": true, @@ -94366,6 +95113,16 @@ "editType": "none", "valType": "string" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "violin", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -94633,6 +95390,13 @@ "valType": "subplotid" }, "colorbar": { + "_deprecated": { + "title": { + "description": "It is recommended to use the color bar's `title.text` attribute instead.", + "editType": "calc", + "valType": "string" + } + }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -97278,6 +98042,16 @@ }, "role": "object" }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, "type": "waterfall", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -97460,5 +98234,275 @@ }, "type": "waterfall" } + }, + "transforms": { + "aggregate": { + "attributes": { + "aggregations": { + "items": { + "aggregation": { + "editType": "calc", + "enabled": { + "description": "Determines whether this aggregation function is enabled or disabled.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "func": { + "description": "Sets the aggregation function. All values from the linked `target`, corresponding to the same value in the `groups` array, are collected and reduced by this function. *count* is simply the number of values in the `groups` array, so does not even require the linked array to exist. *first* (*last*) is just the first (last) linked value. Invalid values are ignored, so for example in *avg* they do not contribute to either the numerator or the denominator. Any data type (numeric, date, category) may be aggregated with any function, even though in certain cases it is unlikely to make sense, for example a sum of dates or average of categories. *median* will return the average of the two central values if there is an even count. *mode* will return the first value to reach the maximum count, in case of a tie. *change* will return the difference between the first and last linked values. *range* will return the difference between the min and max linked values.", + "dflt": "first", + "editType": "calc", + "valType": "enumerated", + "values": [ + "count", + "sum", + "avg", + "median", + "mode", + "rms", + "stddev", + "min", + "max", + "first", + "last", + "change", + "range" + ] + }, + "funcmode": { + "description": "*stddev* supports two formula variants: *sample* (normalize by N-1) and *population* (normalize by N).", + "dflt": "sample", + "editType": "calc", + "valType": "enumerated", + "values": [ + "sample", + "population" + ] + }, + "role": "object", + "target": { + "description": "A reference to the data array in the parent trace to aggregate. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate over the marker color array. The referenced array must already exist, unless `func` is *count*, and each array may only be referenced once.", + "editType": "calc", + "valType": "string" + } + } + }, + "role": "object" + }, + "editType": "calc", + "enabled": { + "description": "Determines whether this aggregate transform is enabled or disabled.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "groups": { + "arrayOk": true, + "description": "Sets the grouping target to which the aggregation is applied. Data points with matching group values will be coalesced into one point, using the supplied aggregation functions to reduce data in other data arrays. If a string, `groups` is assumed to be a reference to a data array in the parent trace object. To aggregate by nested variables, use *.* to access them. For example, set `groups` to *marker.color* to aggregate about the marker color array. If an array, `groups` is itself the data array by which we aggregate.", + "dflt": "x", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "groupssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `groups`.", + "editType": "none", + "valType": "string" + } + } + }, + "filter": { + "attributes": { + "editType": "calc", + "enabled": { + "description": "Determines whether this filter transform is enabled or disabled.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "operation": { + "description": "Sets the filter operation. *=* keeps items equal to `value` *!=* keeps items not equal to `value` *<* keeps items less than `value` *<=* keeps items less than or equal to `value` *>* keeps items greater than `value` *>=* keeps items greater than or equal to `value` *[]* keeps items inside `value[0]` to `value[1]` including both bounds *()* keeps items inside `value[0]` to `value[1]` excluding both bounds *[)* keeps items inside `value[0]` to `value[1]` including `value[0]` but excluding `value[1] *(]* keeps items inside `value[0]` to `value[1]` excluding `value[0]` but including `value[1] *][* keeps items outside `value[0]` to `value[1]` and equal to both bounds *)(* keeps items outside `value[0]` to `value[1]` *](* keeps items outside `value[0]` to `value[1]` and equal to `value[0]` *)[* keeps items outside `value[0]` to `value[1]` and equal to `value[1]` *{}* keeps items present in a set of values *}{* keeps items not present in a set of values", + "dflt": "=", + "editType": "calc", + "valType": "enumerated", + "values": [ + "=", + "!=", + "<", + ">=", + ">", + "<=", + "[]", + "()", + "[)", + "(]", + "][", + ")(", + "](", + ")[", + "{}", + "}{" + ] + }, + "preservegaps": { + "description": "Determines whether or not gaps in data arrays produced by the filter operation are preserved. Setting this to *true* might be useful when plotting a line chart with `connectgaps` set to *false*.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "target": { + "arrayOk": true, + "description": "Sets the filter target by which the filter is applied. If a string, `target` is assumed to be a reference to a data array in the parent trace object. To filter about nested variables, use *.* to access them. For example, set `target` to *marker.color* to filter about the marker color array. If an array, `target` is then the data array by which the filter is applied.", + "dflt": "x", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "targetcalendar": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `target`, if it is an array of dates. If `target` is a string (eg *x*) we use the corresponding trace attribute (eg `xcalendar`) if it exists, even if `targetcalendar` is provided.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "targetsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `target`.", + "editType": "none", + "valType": "string" + }, + "value": { + "description": "Sets the value or values by which to filter. Values are expected to be in the same type as the data linked to `target`. When `operation` is set to one of the comparison values (=,!=,<,>=,>,<=) `value` is expected to be a number or a string. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) `value` is expected to be 2-item array where the first item is the lower bound and the second item is the upper bound. When `operation`, is set to one of the set values ({},}{) `value` is expected to be an array with as many items as the desired set elements.", + "dflt": 0, + "editType": "calc", + "valType": "any" + }, + "valuecalendar": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. Sets the calendar system to use for `value`, if it is a date.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + } + } + }, + "groupby": { + "attributes": { + "editType": "calc", + "enabled": { + "description": "Determines whether this group-by transform is enabled or disabled.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "groups": { + "description": "Sets the groups in which the trace data will be split. For example, with `x` set to *[1, 2, 3, 4]* and `groups` set to *['a', 'b', 'a', 'b']*, the groupby transform with split in one trace with `x` [1, 3] and one trace with `x` [2, 4].", + "dflt": [], + "editType": "calc", + "valType": "data_array" + }, + "groupssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `groups`.", + "editType": "none", + "valType": "string" + }, + "nameformat": { + "description": "Pattern by which grouped traces are named. If only one trace is present, defaults to the group name (`\"%{group}\"`), otherwise defaults to the group name with trace name (`\"%{group} (%{trace})\"`). Available escape sequences are `%{group}`, which inserts the group name, and `%{trace}`, which inserts the trace name. If grouping GDP data by country when more than one trace is present, for example, the default \"%{group} (%{trace})\" would return \"Monaco (GDP per capita)\".", + "editType": "calc", + "valType": "string" + }, + "styles": { + "items": { + "style": { + "editType": "calc", + "role": "object", + "target": { + "description": "The group value which receives these styles.", + "editType": "calc", + "valType": "string" + }, + "value": { + "_compareAsJSON": true, + "description": "Sets each group styles. For example, with `groups` set to *['a', 'b', 'a', 'b']* and `styles` set to *[{target: 'a', value: { marker: { color: 'red' } }}] marker points in group *'a'* will be drawn in red.", + "dflt": {}, + "editType": "calc", + "valType": "any" + } + } + }, + "role": "object" + } + } + }, + "sort": { + "attributes": { + "editType": "calc", + "enabled": { + "description": "Determines whether this sort transform is enabled or disabled.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "order": { + "description": "Sets the sort transform order.", + "dflt": "ascending", + "editType": "calc", + "valType": "enumerated", + "values": [ + "ascending", + "descending" + ] + }, + "target": { + "arrayOk": true, + "description": "Sets the target by which the sort transform is applied. If a string, *target* is assumed to be a reference to a data array in the parent trace object. To sort about nested variables, use *.* to access them. For example, set `target` to *marker.size* to sort about the marker size array. If an array, *target* is then the data array by which the sort transform is applied.", + "dflt": "x", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "targetsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `target`.", + "editType": "none", + "valType": "string" + } + } + } } } \ No newline at end of file