diff --git a/CHANGELOG.md b/CHANGELOG.md index c4b877161c..8cdf5ed2b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,20 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [1.9.0] - 2015-11-15 +- Previously, using plotly offline required a paid license. +No more: `plotly.js` is now shipped inside this package to allow +unlimited free use of plotly inside the ipython notebook environment. +The `plotly.js` library that is included in this package is free, +open source, and maintained independently on GitHub at +[https://github.com/plotly/plotly.js](https://github.com/plotly/plotly.js). +- The `plotly.js` bundle that is required for offline use is no longer downloaded +and installed independently from this package: `plotly.offline.download_plotlyjs` +is **deprecated**. +- New versions of `plotly.js` will be tested and incorporated + into this package as new versioned pip releases; + `plotly.js` is not automatically kept in sync with this package. + ## [1.8.12] - 2015-11-02 - *Big data* warning mentions `plotly.graph_objs.Scattergl` as possible solution. diff --git a/plotly/graph_reference/default-schema.json b/plotly/graph_reference/default-schema.json index 2589bdc09f..cf0b1bd506 100644 --- a/plotly/graph_reference/default-schema.json +++ b/plotly/graph_reference/default-schema.json @@ -311,6 +311,7 @@ }, "description": "Sets the annotation text font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -443,6 +444,7 @@ }, "description": "Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.", "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 plotly service (at https://plot.ly 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*.", "dflt": "\"Open sans\", verdana, arial, sans-serif", "noBlank": true, "role": "style", @@ -831,7 +833,7 @@ "valType": "number" }, "hidesources": { - "description": "Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the plotly cloud.", + "description": "Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the plotly service (at https://plot.ly or on-premise).", "dflt": false, "role": "info", "valType": "boolean" @@ -873,6 +875,7 @@ }, "description": "Sets the font used to text the legend items.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -914,7 +917,7 @@ "valType": "number" }, "xanchor": { - "description": "Sets the legend's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the legend.", + "description": "Sets the legend's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the legend.", "dflt": "left", "role": "info", "valType": "enumerated", @@ -1262,7 +1265,7 @@ "valType": "color" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -1340,7 +1343,7 @@ "valType": "integer" }, "range": { - "description": "Sets the range of this axis.", + "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the date range from January 1st 1970 to November 4th, 2013, set the range from 0 to 1380844800000.0", "items": [ { "valType": "number" @@ -1455,7 +1458,7 @@ "valType": "number" }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -1479,6 +1482,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -1575,6 +1579,7 @@ }, "description": "Sets this axis' title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -1637,7 +1642,7 @@ "valType": "color" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -1715,7 +1720,7 @@ "valType": "integer" }, "range": { - "description": "Sets the range of this axis.", + "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the date range from January 1st 1970 to November 4th, 2013, set the range from 0 to 1380844800000.0", "items": [ { "valType": "number" @@ -1830,7 +1835,7 @@ "valType": "number" }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -1854,6 +1859,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -1950,6 +1956,7 @@ }, "description": "Sets this axis' title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -2012,7 +2019,7 @@ "valType": "color" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -2090,7 +2097,7 @@ "valType": "integer" }, "range": { - "description": "Sets the range of this axis.", + "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the date range from January 1st 1970 to November 4th, 2013, set the range from 0 to 1380844800000.0", "items": [ { "valType": "number" @@ -2205,7 +2212,7 @@ "valType": "number" }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -2229,6 +2236,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -2325,6 +2333,7 @@ }, "description": "Sets this axis' title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -2391,7 +2400,7 @@ "valType": "color" }, "dash": { - "description": "Sets the style of the lines.", + "description": "Sets the style of the lines. Set to a dash string type or a dash length in px.", "dflt": "solid", "role": "style", "valType": "string", @@ -2506,6 +2515,7 @@ }, "description": "Sets the title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -2577,7 +2587,7 @@ "valType": "info_array" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -2673,7 +2683,7 @@ "valType": "number" }, "range": { - "description": "Sets the range of this axis.", + "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the date range from January 1st 1970 to November 4th, 2013, set the range from 0 to 1380844800000.0", "items": [ { "valType": "number" @@ -2762,7 +2772,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -2786,6 +2796,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -2882,6 +2893,7 @@ }, "description": "Sets this axis' title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -2977,7 +2989,7 @@ "valType": "info_array" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -3073,7 +3085,7 @@ "valType": "number" }, "range": { - "description": "Sets the range of this axis.", + "description": "Sets the range of this axis. If the axis `type` is *log*, then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the date range from January 1st 1970 to November 4th, 2013, set the range from 0 to 1380844800000.0", "items": [ { "valType": "number" @@ -3162,7 +3174,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -3186,6 +3198,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -3282,6 +3295,7 @@ }, "description": "Sets this axis' title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -4071,7 +4085,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -4178,7 +4192,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -4188,7 +4202,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -4212,6 +4226,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -4310,6 +4325,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -4336,11 +4352,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -4360,6 +4378,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -4394,25 +4414,25 @@ }, "line": { "autocolorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", "dflt": true, "role": "style", "valType": "boolean" }, "cauto": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", "dflt": true, "role": "style", "valType": "boolean" }, "cmax": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the upper bound of the color domain.", "dflt": null, "role": "info", "valType": "number" }, "cmin": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the lower bound of the color domain.", "dflt": null, "role": "info", "valType": "number" @@ -4424,7 +4444,7 @@ "valType": "color" }, "colorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the colorscale.", "role": "style", "valType": "colorscale" }, @@ -4434,7 +4454,7 @@ "valType": "string" }, "reversescale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Reverses the colorscale.", "dflt": false, "role": "style", "valType": "boolean" @@ -5254,7 +5274,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -5361,7 +5381,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -5371,7 +5391,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -5395,6 +5415,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -5493,6 +5514,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -5519,11 +5541,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -5543,6 +5567,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -5788,7 +5814,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -5895,7 +5921,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -5905,7 +5931,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -5929,6 +5955,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -6027,6 +6054,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -6053,11 +6081,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -6077,6 +6107,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -6191,7 +6223,7 @@ "valType": "color" }, "dash": { - "description": "Sets the style of the lines.", + "description": "Sets the style of the lines. Set to a dash string type or a dash length in px.", "dflt": "solid", "role": "style", "valType": "string", @@ -6440,7 +6472,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -6547,7 +6579,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -6557,7 +6589,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -6581,6 +6613,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -6679,6 +6712,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -6705,11 +6739,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -6729,6 +6765,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -7324,7 +7362,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -7431,7 +7469,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -7441,7 +7479,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -7465,6 +7503,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -7563,6 +7602,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -7589,11 +7629,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -7613,6 +7655,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -7647,25 +7691,25 @@ }, "line": { "autocolorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", "dflt": true, "role": "style", "valType": "boolean" }, "cauto": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", "dflt": true, "role": "style", "valType": "boolean" }, "cmax": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the upper bound of the color domain.", "dflt": null, "role": "info", "valType": "number" }, "cmin": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the lower bound of the color domain.", "dflt": null, "role": "info", "valType": "number" @@ -7677,7 +7721,7 @@ "valType": "color" }, "colorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the colorscale.", "role": "style", "valType": "colorscale" }, @@ -7687,7 +7731,7 @@ "valType": "string" }, "reversescale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Reverses the colorscale.", "dflt": false, "role": "style", "valType": "boolean" @@ -8006,7 +8050,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -8113,7 +8157,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -8123,7 +8167,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -8147,6 +8191,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -8245,6 +8290,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -8271,11 +8317,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -8295,6 +8343,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -8698,7 +8748,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -8805,7 +8855,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -8815,7 +8865,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -8839,6 +8889,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -8937,6 +8988,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -8963,11 +9015,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -8987,6 +9041,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -9127,7 +9183,7 @@ "valType": "color" }, "dash": { - "description": "Sets the style of the lines.", + "description": "Sets the style of the lines. Set to a dash string type or a dash length in px.", "dflt": "solid", "role": "style", "valType": "string", @@ -9457,7 +9513,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -9564,7 +9620,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -9574,7 +9630,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -9598,6 +9654,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -9696,6 +9753,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -9722,11 +9780,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -9746,6 +9806,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -10117,6 +10179,7 @@ }, "description": "Sets the font used for `textinfo` lying inside the pie.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -10212,6 +10275,7 @@ }, "description": "Sets the font used for `textinfo` lying outside the pie.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -10292,6 +10356,7 @@ }, "description": "Sets the font used for `textinfo`.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -10656,7 +10721,7 @@ "valType": "color" }, "dash": { - "description": "Sets the style of the lines.", + "description": "Sets the style of the lines. Set to a dash string type or a dash length in px.", "dflt": "solid", "role": "style", "valType": "string", @@ -10752,7 +10817,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -10859,7 +10924,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -10869,7 +10934,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -10893,6 +10958,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -10991,6 +11057,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -11017,11 +11084,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -11041,6 +11110,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -11075,25 +11146,25 @@ }, "line": { "autocolorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", "dflt": true, "role": "style", "valType": "boolean" }, "cauto": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", "dflt": true, "role": "style", "valType": "boolean" }, "cmax": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the upper bound of the color domain.", "dflt": null, "role": "info", "valType": "number" }, "cmin": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the lower bound of the color domain.", "dflt": null, "role": "info", "valType": "number" @@ -11105,7 +11176,7 @@ "valType": "color" }, "colorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the colorscale.", "role": "style", "valType": "colorscale" }, @@ -11115,7 +11186,7 @@ "valType": "string" }, "reversescale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Reverses the colorscale.", "dflt": false, "role": "style", "valType": "boolean" @@ -11503,7 +11574,7 @@ } }, "mode": { - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", + "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points, then the default is *lines+markers*. Otherwise, *lines*.", "extras": [ "none" ], @@ -11704,7 +11775,7 @@ "valType": "string" } }, - "description": "The data visualized as scatter point or lines is set in `x` and `y` Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to a numerical arrays." + "description": "The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts. The data visualized as scatter point or lines is set in `x` and `y`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to a numerical arrays." }, "scatter3d": { "attributes": { @@ -12047,7 +12118,7 @@ "valType": "color" }, "dash": { - "description": "Sets the style of the lines.", + "description": "Sets the style of the lines. Set to a dash string type or a dash length in px.", "dflt": "solid", "role": "style", "valType": "string", @@ -12121,7 +12192,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -12228,7 +12299,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -12238,7 +12309,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -12262,6 +12333,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -12360,6 +12432,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -12386,11 +12459,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -12410,6 +12485,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -12444,25 +12521,25 @@ }, "line": { "autocolorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", "dflt": true, "role": "style", "valType": "boolean" }, "cauto": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", "dflt": true, "role": "style", "valType": "boolean" }, "cmax": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the upper bound of the color domain.", "dflt": null, "role": "info", "valType": "number" }, "cmin": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the lower bound of the color domain.", "dflt": null, "role": "info", "valType": "number" @@ -12474,7 +12551,7 @@ "valType": "color" }, "colorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the colorscale.", "role": "style", "valType": "colorscale" }, @@ -12484,7 +12561,7 @@ "valType": "string" }, "reversescale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Reverses the colorscale.", "dflt": false, "role": "style", "valType": "boolean" @@ -12584,7 +12661,7 @@ } }, "mode": { - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", + "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points, then the default is *lines+markers*. Otherwise, *lines*.", "dflt": "lines+markers", "extras": [ "none" @@ -12904,7 +12981,7 @@ "valType": "color" }, "dash": { - "description": "Sets the style of the lines.", + "description": "Sets the style of the lines. Set to a dash string type or a dash length in px.", "dflt": "solid", "role": "style", "valType": "string", @@ -13009,7 +13086,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -13116,7 +13193,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -13126,7 +13203,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -13150,6 +13227,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -13248,6 +13326,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -13274,11 +13353,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -13298,6 +13379,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -13332,25 +13415,25 @@ }, "line": { "autocolorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", "dflt": true, "role": "style", "valType": "boolean" }, "cauto": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", "dflt": true, "role": "style", "valType": "boolean" }, "cmax": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the upper bound of the color domain.", "dflt": null, "role": "info", "valType": "number" }, "cmin": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the lower bound of the color domain.", "dflt": null, "role": "info", "valType": "number" @@ -13362,7 +13445,7 @@ "valType": "color" }, "colorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the colorscale.", "role": "style", "valType": "colorscale" }, @@ -13372,7 +13455,7 @@ "valType": "string" }, "reversescale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Reverses the colorscale.", "dflt": false, "role": "style", "valType": "boolean" @@ -13753,7 +13836,7 @@ } }, "mode": { - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", + "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points, then the default is *lines+markers*. Otherwise, *lines*.", "dflt": "markers", "extras": [ "none" @@ -14234,7 +14317,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -14341,7 +14424,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -14351,7 +14434,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -14375,6 +14458,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -14473,6 +14557,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -14499,11 +14584,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -14523,6 +14610,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, @@ -14557,25 +14646,25 @@ }, "line": { "autocolorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", "dflt": true, "role": "style", "valType": "boolean" }, "cauto": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", "dflt": true, "role": "style", "valType": "boolean" }, "cmax": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the upper bound of the color domain.", "dflt": null, "role": "info", "valType": "number" }, "cmin": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the lower bound of the color domain.", "dflt": null, "role": "info", "valType": "number" @@ -14587,7 +14676,7 @@ "valType": "color" }, "colorscale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Sets the colorscale.", "role": "style", "valType": "colorscale" }, @@ -14597,7 +14686,7 @@ "valType": "string" }, "reversescale": { - "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "description": "Has only an effect if `marker.line.color` is set to a numerical array. Reverses the colorscale.", "dflt": false, "role": "style", "valType": "boolean" @@ -14853,7 +14942,7 @@ "valType": "number" }, "dtick": { - "description": "Sets the step in-between ticks on this axis", + "description": "Sets the step in-between ticks on this axis Use with `tick0`. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0.", "dflt": 1, "role": "style", "valType": "any" @@ -14960,7 +15049,7 @@ "valType": "number" }, "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels. Use `thickness` to set the value.", + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", "role": "style", "valType": "enumerated", @@ -14970,7 +15059,7 @@ ] }, "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2). If the axis `type` is *date*, then you must convert the date to unix time in milliseconds (the number of milliseconds since January 1st, 1970). For example, to set the starting tick to November 4th, 2013, set the range to 1380844800000.0.", "dflt": 0, "role": "style", "valType": "number" @@ -14994,6 +15083,7 @@ }, "description": "Sets the tick font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -15092,6 +15182,7 @@ }, "description": "Sets this color bar's title font.", "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 plotly service (at https://plot.ly 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*.", "noBlank": true, "role": "style", "strict": true, @@ -15118,11 +15209,13 @@ "x": { "description": "Sets the x position of the color bar (in plot fraction).", "dflt": 1.02, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, "xanchor": { - "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", "dflt": "left", "role": "style", "valType": "enumerated", @@ -15142,6 +15235,8 @@ "y": { "description": "Sets the y position of the color bar (in plot fraction).", "dflt": 0.5, + "max": 3, + "min": -2, "role": "style", "valType": "number" }, diff --git a/plotly/offline/offline.py b/plotly/offline/offline.py index 021ef7e80d..24e08340be 100644 --- a/plotly/offline/offline.py +++ b/plotly/offline/offline.py @@ -8,40 +8,29 @@ import json import os import uuid - -import requests +import warnings +from pkg_resources import resource_string from plotly import session, tools, utils from plotly.exceptions import PlotlyError -PLOTLY_OFFLINE_DIRECTORY = plotlyjs_path = os.path.expanduser( - os.path.join(*'~/.plotly/plotlyjs'.split('/'))) -PLOTLY_OFFLINE_BUNDLE = os.path.join(PLOTLY_OFFLINE_DIRECTORY, - 'plotly-ipython-offline-bundle.js') - __PLOTLY_OFFLINE_INITIALIZED = False def download_plotlyjs(download_url): - if not os.path.exists(PLOTLY_OFFLINE_DIRECTORY): - os.makedirs(PLOTLY_OFFLINE_DIRECTORY) - - res = requests.get(download_url) - res.raise_for_status() + warnings.warn(''' + `download_plotlyjs` is deprecated and will be removed in the + next release. plotly.js is shipped with this module, it is no + longer necessary to download this bundle separately. + ''', DeprecationWarning) + pass - with open(PLOTLY_OFFLINE_BUNDLE, 'wb') as f: - f.write(res.content) - print('\n'.join([ - 'Success! Now start an IPython notebook and run the following ' + - 'code to make your first offline graph:', - '', - 'import plotly', - 'plotly.offline.init_notebook_mode() ' - '# run at the start of every ipython notebook', - 'plotly.offline.iplot([{"x": [1, 2, 3], "y": [3, 1, 6]}])' - ])) +def get_plotlyjs(): + path = os.path.join('offline', 'plotly.min.js') + plotlyjs = resource_string('plotly', path).decode('utf-8') + return plotlyjs def init_notebook_mode(): @@ -55,24 +44,20 @@ def init_notebook_mode(): raise ImportError('`iplot` can only run inside an IPython Notebook.') from IPython.display import HTML, display - if not os.path.exists(PLOTLY_OFFLINE_BUNDLE): - raise PlotlyError('Plotly Offline source file at {source_path} ' - 'is not found.\n' - 'If you have a Plotly Offline license, then try ' - 'running plotly.offline.download_plotlyjs(url) ' - 'with a licensed download url.\n' - "Don't have a Plotly Offline license? " - 'Contact sales@plot.ly learn more about licensing.\n' - 'Questions? support@plot.ly.' - .format(source_path=PLOTLY_OFFLINE_BUNDLE)) - global __PLOTLY_OFFLINE_INITIALIZED __PLOTLY_OFFLINE_INITIALIZED = True display(HTML('')) + # ipython's includes `require` as a global, which + # conflicts with plotly.js. so, unrequire it. + 'require=requirejs=define=undefined;' + + '' + + '')) -def iplot(figure_or_data, show_link=True, link_text='Export to plot.ly'): +def iplot(figure_or_data, show_link=True, link_text='Export to plot.ly', + validate=True): """ Draw plotly graphs inside an IPython notebook without connecting to an external server. @@ -90,6 +75,11 @@ def iplot(figure_or_data, show_link=True, link_text='Export to plot.ly'): of the chart that will export the chart to Plotly Cloud or Plotly Enterprise link_text (default='Export to plot.ly') -- the text of export link + validate (default=True) -- validate that all of the keys in the figure + are valid? omit if your version of plotly.js + has become outdated with your version of + graph_reference.json or if you need to include + extra, unnecessary keys in your figure. Example: ``` @@ -112,15 +102,10 @@ def iplot(figure_or_data, show_link=True, link_text='Export to plot.ly'): raise ImportError('`iplot` can only run inside an IPython Notebook.') from IPython.display import HTML, display - if isinstance(figure_or_data, dict): - data = figure_or_data['data'] - layout = figure_or_data.get('layout', {}) - else: - data = figure_or_data - layout = {} + figure = tools.return_figure_from_figure_or_data(figure_or_data, validate) - width = layout.get('width', '100%') - height = layout.get('height', 525) + width = figure.get('layout', {}).get('width', '100%') + height = figure.get('layout', {}).get('height', 525) try: float(width) except (ValueError, TypeError): @@ -136,11 +121,13 @@ def iplot(figure_or_data, show_link=True, link_text='Export to plot.ly'): width = str(width) + 'px' plotdivid = uuid.uuid4() - jdata = json.dumps(data, cls=utils.PlotlyJSONEncoder) - jlayout = json.dumps(layout, cls=utils.PlotlyJSONEncoder) + jdata = json.dumps(figure.get('data', []), cls=utils.PlotlyJSONEncoder) + jlayout = json.dumps(figure.get('layout', {}), cls=utils.PlotlyJSONEncoder) - if show_link is False: - link_text = '' + config = {} + config['showLink'] = show_link + config['linkText'] = link_text + jconfig = json.dumps(config) plotly_platform_url = session.get_session_config().get('plotly_domain', 'https://plot.ly') @@ -156,18 +143,17 @@ def iplot(figure_or_data, show_link=True, link_text='Export to plot.ly'): '' )) script = '\n'.join([ - 'Plotly.plot("{id}", {data}, {layout}).then(function() {{', + 'Plotly.plot("{id}", {data}, {layout}, {config}).then(function() {{', ' $(".{id}.loading").remove();', '}})' ]).format(id=plotdivid, data=jdata, layout=jlayout, - link_text=link_text) + config=jconfig) display(HTML('' '
=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(no.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},no.set=function(t){var e=new b;if(t)for(var r=0,n=t.length;n>r;++r)e.add(t[r]);return e},c(b,{has:p,add:function(t){return this._[f(t+="")]=!0,t},remove:g,values:v,size:m,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e))}}),no.behavior={},no.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},no.event=null,no.requote=function(t){return t.replace(xo,"\\$&")};var xo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,_o={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},wo=function(t,e){return e.querySelector(t)},ko=function(t,e){return e.querySelectorAll(t)},Ao=function(t,e){var r=t.matches||t[w(t,"matchesSelector")];return(Ao=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(wo=function(t,e){return Sizzle(t,e)[0]||null},ko=Sizzle,Ao=Sizzle.matchesSelector),no.selection=function(){return no.select(oo.documentElement)};var Mo=no.selection.prototype=[];Mo.select=function(t){var e,r,n,i,a=[];t=S(t);for(var o=-1,s=this.length;++o =0?t.slice(0,e):t,n=e>=0?t.slice(e+1):"in";return r=hl.get(r)||cl,n=fl.get(n)||x,wn(n(r.apply(null,io.call(arguments,1))))},no.interpolateHcl=In,no.interpolateHsl=Dn,no.interpolateLab=Rn,no.interpolateRound=Fn,no.transform=function(t){var e=oo.createElementNS(no.ns.prefix.svg,"g");return(no.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Nn(r?r.matrix:dl)})(t)},Nn.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var dl={a:1,b:0,c:0,d:1,e:0,f:0};no.interpolateTransform=qn,no.layout={},no.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r g))for(;;)if(r[g++].push(n),g>=t.length||0!==o(t[g],a))break}return r}function f(t,e){if(!e)return h(u(p(t,0)),t,0);for(var r=new Array(e),n=0;e>n;++n)r[n]=[];for(var n=0,i=t.length;i>n;++n)for(var a=t[n],o=0,s=a.length;s>o;++o)r[a[o]].push(n);return r}function d(t){for(var e=[],r=0,n=t.length;n>r;++r)for(var i=t[r],a=0|i.length,o=1,s=1<o;++o){for(var u=[],c=0;a>c;++c)o>>>c&1&&u.push(i[c]);e.push(u)}return l(e)}function p(t,e){if(0>e)return[];for(var r=[],n=(1<=0&&(r=t.slice(0,e),t=t.slice(e+1)),Lo.hasOwnProperty(r)?{space:Lo[r],local:t}:t}},Mo.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return t=no.ns.qualify(t),t.local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(P(e,t[e]));return this}return this.each(P(t,e))},Mo.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=I(t)).length,i=-1;if(e=r.classList){for(;++ir&&(a=r),r>i&&(i=r));return n*=n,e*=e,n?Math.max(e*i*p/n,n/(e*a*p)):1/0}function i(t,e,r,n){var i,a=-1,o=t.length,s=r.x,u=r.y,c=e?l(t.area/e):0;if(e==r.dx){for((n||c>r.dy)&&(c=r.dy);++ai;++i)n[i]=[r[2*i],r[2*i+1]];return n}function u(t,e,r,u){r=r||0,"undefined"==typeof u&&(u=n(t));var c=t.length;if(0===c||1>u)return{cells:[],vertexIds:[],vertexWeights:[]};var f=i(e,+r),p=a(t,u),g=o(p,e,f,+r),v=s(p,0|e.length),m=d(u)(t,p.data,v,f),y=l(p),b=[].slice.call(g.data,0,g.shape[0]);return h.free(f),h.free(p.data),h.free(g.data),h.free(v),{cells:m,vertexIds:y,vertexWeights:b}}e.exports=u;var c=t("ndarray"),h=t("typedarray-pool"),f=t("ndarray-sort"),d=t("./lib/codegen")},{"./lib/codegen":96,ndarray:189,"ndarray-sort":99,"typedarray-pool":217}],96:[function(t,e,r){"use strict";function n(t){function e(t){if(!(t.length<=0)){u.push("R.push(");for(var e=0;en;++n)r[n]=i(t,n);return r}e.exports=a;var o=t("convex-hull")},{"convex-hull":42}],98:[function(t,e,r){"use strict";function n(t){switch(t){case"uint8":return[l.mallocUint8,l.freeUint8];case"uint16":return[l.mallocUint16,l.freeUint16];case"uint32":return[l.mallocUint32,l.freeUint32];case"int8":return[l.mallocInt8,l.freeInt8];case"int16":return[l.mallocInt16,l.freeInt16];case"int32":return[l.mallocInt32,l.freeInt32];case"float32":return[l.mallocFloat,l.freeFloat];case"float64":return[l.mallocDouble,l.freeDouble];default:return null}}function i(t){for(var e=[],r=0;t>r;++r)e.push("s"+r);for(var r=0;t>r;++r)e.push("n"+r);for(var r=1;t>r;++r)e.push("d"+r);for(var r=1;t>r;++r)e.push("e"+r);for(var r=1;t>r;++r)e.push("f"+r);return e}function a(t,e){function r(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function a(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}var o=["'use strict'"],s=["ndarrayInsertionSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(i(t.length)),u=n(e),c=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var h=[],f=1;fn;++n){for(h=c,c=t[n],i=0;o>i;++i)l.push(["p",i,"+=d",i,"s",n].join(""));s&&(n>0&&l.push(["index[",h,"]-=s",h].join("")),l.push(["++index[",c,"]"].join(""))),l.push("}")}return l.join("\n")}function i(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,u=[],c=0;o>c;++c)u.push(["var offset",c,"=p",c].join(""));for(var c=t;a>c;++c)u.push(["for(var j"+c+"=SS[",e[c],"]|0;j",c,">0;){"].join("")),u.push(["if(j",c,"<",s,"){"].join("")),u.push(["s",e[c],"=j",c].join("")),u.push(["j",c,"=0"].join("")),u.push(["}else{s",e[c],"=",s].join("")),u.push(["j",c,"-=",s,"}"].join("")),l&&u.push(["index[",e[c],"]=j",c].join(""));for(var c=0;o>c;++c){for(var h=["offset"+c],f=t;a>f;++f)h.push(["j",f,"*t",c,"[",e[f],"]"].join(""));u.push(["p",c,"=(",h.join("+"),")"].join(""))}u.push(n(e,r,i));for(var c=t;a>c;++c)u.push("}");return u.join("\n")}function a(t){for(var e=0,r=t[0].length;r>e;){for(var n=1;nK;++K){for(var Q=this.contourLevels[K],J=[],tt=[],et=[0,0],a=0;a